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

Co nejvíce stručné řešení pro vývojáře a linux administrátory

Na superuser.cz nenaleznete žádný zbytečný obsah, vždy se jde přímo k věci, denně se zde objevují nové problémy a jejich řešení...

Začít používat

SQL - Cannot truncate a table…

19.08.2018 napsal BJzB_2nd

Vyřešeno
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

Zobrazit odpovědi

Nejlépe hodnocení uživatelé
Hanz

Počet UP: 5139

React: 223

Rusty

Počet UP: 2363

React: 105

OL3G

Počet UP: 1651

React: 64

Strosmajer

Počet UP: 501

React: 29

Oxytocin

Počet UP: 303

React: 27

SYSTEM

Počet UP: 443

React: 23

Hyacint

Počet UP: 43

React: 20

Odpovědi na dotaz

RE: SQL - Cannot truncate a table…

21.08.2018 odpověděl Hanz

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