I have some data:
id
parent_id
topic_id
1 < /td>
< /td>
1 < /td>
< /tr>
2 < /td>
1 < /td>
2 < /td>
1 < /td>
/> < /tr>
3 < /td>
< /td>
2 < /td>
< /tr>
4 < /td>
3 < /td>
< /td>
3 < /td>
/> < /tr>
< /tbody>
< /table> < /div>
parent_id имеет fk to id .
Я пытаюсь удалить данные с помощью TOMA_ID - Как вы видите, одна строка ссылается на другую строку, которая должна быть удалена. Но Иногда это терпит неудачу из -за нарушения FK. Это делает это довольно сложно воспроизвести эту ситуацию. < /P>
Как их удалить? Не хочу этого, я мог бы повредить данные < /li>
[*]...?
< /ul>
удалось воспроизвести это. SQL: < /p>
create table test (
id bigint auto_increment primary key,
parent_id bigint null ,
topic_id bigint,
foreign key (parent_id) references test(id)
) engine=innodb;
insert into test (id, parent_id, topic_id)
values
(1, null, 1),
(2, 1, 1),
(3, 2, 1),
(4, null, 2),
(5, 4, 2);
-- select * from test;
delete from test where topic_id=1;
-- [23000][1451] Cannot delete or update a parent row: a foreign key constraint fails (`mydb`.`test`, CONSTRAINT `test_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `test` (`id`))
Подробнее здесь: https://stackoverflow.com/questions/796 ... ce-to-self
Удалить строки DB, которые содержат ссылку на себя ⇐ MySql
Форум по Mysql
-
Anonymous
1748497268
Anonymous
I have some data:
id
parent_id
topic_id
1 < /td>
< /td>
1 < /td>
< /tr>
2 < /td>
1 < /td>
2 < /td>
1 < /td>
/> < /tr>
3 < /td>
< /td>
2 < /td>
< /tr>
4 < /td>
3 < /td>
< /td>
3 < /td>
/> < /tr>
< /tbody>
< /table> < /div>
parent_id имеет fk to id .
Я пытаюсь удалить данные с помощью TOMA_ID - Как вы видите, одна строка ссылается на другую строку, которая должна быть удалена. Но [b] Иногда [/b] это терпит неудачу из -за нарушения FK. Это делает это довольно сложно воспроизвести эту ситуацию. < /P>
Как их удалить? Не хочу этого, я мог бы повредить данные < /li>
[*]...?
< /ul>
удалось воспроизвести это. SQL: < /p>
create table test (
id bigint auto_increment primary key,
parent_id bigint null ,
topic_id bigint,
foreign key (parent_id) references test(id)
) engine=innodb;
insert into test (id, parent_id, topic_id)
values
(1, null, 1),
(2, 1, 1),
(3, 2, 1),
(4, null, 2),
(5, 4, 2);
-- select * from test;
delete from test where topic_id=1;
-- [23000][1451] Cannot delete or update a parent row: a foreign key constraint fails (`mydb`.`test`, CONSTRAINT `test_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `test` (`id`))
Подробнее здесь: [url]https://stackoverflow.com/questions/79640172/delete-db-rows-that-contain-reference-to-self[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия