23.11.2013 / 16:33 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| В БД есть поле `time` типа TIME, хранит продолжительность вида '01:20:00', как конвертировать все строки в int(10) ? Создал `time_int`, а как обновить в нём значение в соответствии со значением поля `time`?
__________________
let live |
23.11.2013 / 16:40 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Всё, решил UPDATE `stat_distance_time` SET `time_int`=HOUR(`time`)*3600 + MINUTE(`time`)*60 + SECOND(`time`)
__________________
let live |
17.01.2014 / 22:24 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| У меня было 4 таблицы с общими данными user_id, exer_id и датой. (stat_count_weight): id, user_id, exer_id, total, weight, date Я вынес эти данные в таблицу: (stat): id, user_id, exer_id, stat_id, date А в другой таблице храню сами данные: (stat_values): id, total, weight Но не могу разобраться с внешними ключами. Мне нужно, чтобы при удалении записи в stat удалялись записи в stat_values, но что-то ничего не получается. Что не так? ALTER TABLE `stat`
ADD FOREIGN KEY (`stat_id`) REFERENCES `stat_values` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
__________________
let live |
17.01.2014 / 22:47 | |
Bogdan-G Пользователь Сейчас: Offline
Имя: Богдан Откуда: Москва Регистрация: 13.02.2011
| aNNiMON, нас учили юзать нормальные формы и связывать по общим критериям таблицы. Попробуй логически представить как оно должно работать. Какие записи удаляются? Они одни и те же или разные? Тут судя по всему с условием пройтись по таблице, и удалить. Внешние ключи date и weight. Т.е. связь такая - см. рис. //кэп вкл/*Кстати твой пост в теме под номером 443 и его особенность в том что это дефолтный порт в https и этим пост оригинален */кэп выкл// Изменено Bogdan-G (17.01 / 22:54) (всего 6 раз)
Прикрепленные файлы: Безымянный.jpg (14.01 кб.) Скачано 465 раз |
17.01.2014 / 23:23 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Bogdan-G, есть юзеры, у них есть записи в stat, которые в свою очередь связаны со stat_values. Я удаляю юзера, удаляются все его данные, что тут ещё представлять? Таблицы и так в нормальных формах, о чём свидетельствуют поля с айдишниками. Кэп из тебя стопроцентный __________________
let live |
17.01.2014 / 23:27 | |
Bogdan-G Пользователь Сейчас: Offline
Имя: Богдан Откуда: Москва Регистрация: 13.02.2011
| aNNiMON, какой запрос за это отвечает я не помню , зато хорошо представил в виде связки if+for как это сделать. Там еще есть функция обновления,добавления,удаления. |
17.01.2014 / 23:33 | |
Dinisimys Пользователь Сейчас: Offline
Имя: Денис Регистрация: 30.07.2012
| aNNiMON, а нельзя сделать два delete...where `user_id`= id для таблиц?
|
17.01.2014 / 23:34 | |
Bogdan-G Пользователь Сейчас: Offline
Имя: Богдан Откуда: Москва Регистрация: 13.02.2011
| Dinisimys, там 3 может быть удаления и не должно быть аномалии удаления.
|
17.01.2014 / 23:43 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| Я наверное что-то не понимаю, когда я в stat добавляю внешний ключ, то получается не при удалении записи из stat удаляются записи в stat_values, а наоборот, при удалении из stat_values удаляются записи в stat. Но если добавлять внешний ключ в stat_values, то всё удаляется так, как я хочу, но при этом я не смогу добавлять нормально данные. Я совсем запутался с этими ключами Dinisimys, нет, если БД умеет удалять автоматически, почему это должен делать я вручную? __________________
let live Изменено aNNiMON (17.01 / 23:45) (всего 4 раза) |
17.01.2014 / 23:54 | |
Dinisimys Пользователь Сейчас: Offline
Имя: Денис Регистрация: 30.07.2012
| aNNiMON, ты это делаешь в связке с php?
|