Добрый день всем!
У меня сложилась патовая ситуация — программист уехал в отпуск, не отвечает. А администратор сервера не может решить проблему.
Проблема:
Не удается удалить записи из определенной таблицы БД (MySQL, InnoDB)
Ни через админку сайта, ни через phpmyadmin, ни через шелл.
Админ скопировал дамп всей БД к себе на локальный компьютер, и также не может удалить определенные записи.
Он говорит о каких-то связях таблиц, мол они могут мешать. Я об этом (т.к. не программист и не админ) — ничего не знаю.
Вы не сталкивались с такой ситуацией?
Куда копать?
Может, выложить дамп, посмотреть?
P.S: нужно очень :(
P.P.S: благодарность может выражаться не только на словах :)
— UPDATE: как говорится, спасибо за минусы.
Через 6 часов обсуждения хабром и знакомыми я нашел источник этой проблемы, в phpmyadmin'е:
У таблицы object_ был триггер.
DROP TRIGGER IF EXISTS `cottage`.`object_prop_clear`//
CREATE TRIGGER `cottage`.`object_prop_clear` AFTER DELETE ON `cottage`.`object_`
FOR EACH ROW BEGIN
delete from object_prop where id=OLD.id;
delete from object_foto where object_id=OLD.id;
END
//
У данного триггера надо было заменить в object_prop — «id» на «object_id»,
т.к. в object_prop нет столбца id, а есть именно object_id
Видимо, программист поле переименовал, а триггер забыл поправить.
Вот так!
У меня сложилась патовая ситуация — программист уехал в отпуск, не отвечает. А администратор сервера не может решить проблему.
Проблема:
Не удается удалить записи из определенной таблицы БД (MySQL, InnoDB)
Ни через админку сайта, ни через phpmyadmin, ни через шелл.
Админ скопировал дамп всей БД к себе на локальный компьютер, и также не может удалить определенные записи.
Он говорит о каких-то связях таблиц, мол они могут мешать. Я об этом (т.к. не программист и не админ) — ничего не знаю.
Вы не сталкивались с такой ситуацией?
Куда копать?
Может, выложить дамп, посмотреть?
P.S: нужно очень :(
P.P.S: благодарность может выражаться не только на словах :)
— UPDATE: как говорится, спасибо за минусы.
Через 6 часов обсуждения хабром и знакомыми я нашел источник этой проблемы, в phpmyadmin'е:
У таблицы object_ был триггер.
DROP TRIGGER IF EXISTS `cottage`.`object_prop_clear`//
CREATE TRIGGER `cottage`.`object_prop_clear` AFTER DELETE ON `cottage`.`object_`
FOR EACH ROW BEGIN
delete from object_prop where id=OLD.id;
delete from object_foto where object_id=OLD.id;
END
//
У данного триггера надо было заменить в object_prop — «id» на «object_id»,
т.к. в object_prop нет столбца id, а есть именно object_id
Видимо, программист поле переименовал, а триггер забыл поправить.
Вот так!