2013-04-17 105 views
0

我有一個數據庫叫做存儲有100個表具有太多foreign key references與表,有成千上萬的記錄。從MySql數據庫中截斷或刪除表

問題: 是否有可能像截斷刪除在單個查詢所有表的所有行。

我試過,但我無法找到確切的方法來實現這一點,當我嘗試TRUNCATE TABLE它給我錯誤:Cannot delete or update a parent row: a foreign key constraint fails這也是預料之中。

任何人都可以請幫助我實現這一目標,或者建議我以更好的方式來做到這一點。

+0

如果你想刪除所有數據,你可以簡單地重新創建數據庫。刪除數據庫並再次運行創建腳本。 –

+0

這可能對您有幫助嗎? http://stackoverflow.com/q/1912813/1983854 – fedorqui

+0

看看http://punkave.com/window/2009/05/27/how-to-add-on-delete-cascade-to-an-現有MySQL的表,而無需墜-任何存在的數據 – anazimok

回答

1

刪除之前:

SET FOREIGN_KEY_CHECKS=0; 

完成後,將其重置爲1:

SET FOREIGN_KEY_CHECKS=1;