SQL - Cannot truncate a table referenced in a foreign key constraint

1 odpovědí
19.08.2018 napsal BJzB_2nd dotaz do kategorie programovani 8 / 10

SQL - Cannot truncate a table referenced in a foreign key constraint

Vyřešeno

programovani sql databaze mysql

Dobrý den,

mám mysql tabulku, která má nastaven cizí klíč (foreign key) a chci jí vypráznit přes phpMyAdmin. Když to zkouším, tak se TRUNCATE provést nechce s hláškou

#1701 - Cannot truncate a table referenced in a foreign key constraint (`x_prod`.`table`, CONSTRAINT `table_ibfk_1` FOREIGN KEY (`km_id`) REFERENCES `x_prod`.`km` (`id`))

Lze to nějak obejít bez toho abych musel foreign key dát pryč? Díky

21.08.2018 odpověděl Hanz Superuser
Zkontrolováno

Dobrý den,

kontrolu cizích klíčů při mazání v tabulce lze obejít pomocí SET FOREIGN_KEY_CHECKS = 0.

Ve Vašem případě tedy uděláte TRUNCATE table takto:

SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE table;
SET FOREIGN_KEY_CHECKS = 1;

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace