Ошибка Mysql 1452 - не Может добавить или обновить дочернюю строку: ограничение внешнего ключа перестало работать

Похоже, что когда происходит обман, вы берете самую раннюю дату. Если это так, это работает?

select
  a.id, username, email, min (ah.modified) as login_date
from accounts a join
     account_history ah
     on modified_acc_id = a.id
 where ah.data::jsonb->>'message' = 'Logon'
group by a.id, username, email, ah.modified::date
234
задан Zoe 24 May 2019 в 11:20
поделиться

2 ответа

В моем случае я составил новую таблицу с той же структурой, создал отношения с другими таблицами, затем извлек данные в CSV от старой таблицы, которая имеет проблему, затем импортировал CSV к новой таблице и отключил проверку внешнего ключа и отключил прерывание импорта, все мои данные вставляются в новую таблицу, которая не имеет никакой проблемы успешно, затем удалил старую таблицу.

Это работало на меня.

0
ответ дан 23 November 2019 в 03:29
поделиться

Вполне вероятно, что ваша таблица sourcecodes_tags содержит значения sourcecode_id , которых больше нет в вашей таблице исходных кодов . Сначала вам нужно избавиться от них.

Вот запрос, который может найти эти идентификаторы:

SELECT DISTINCT sourcecode_id FROM 
   sourcecodes_tags tags LEFT JOIN sourcecodes sc ON tags.sourcecode_id=sc.id 
WHERE sc.id IS NULL;
224
ответ дан 23 November 2019 в 03:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: