我在想這個測試問題。我自己準備了這個例子並進行了測試,但我仍然不確定答案。MySQL刪除級聯。測試示例
下列要求:
CREATE TABLE foo (
id INT PRIMARY KEY AUTO_INCREMENT,
name INT
)
CREATE TABLE foo2 (
id INT PRIMARY KEY AUTO_INCREMENT,
foo_id INT REFERENCES foo(id) ON DELETE CASCADE
)
據我所看到的答案是:
一個。兩個表創建
雖然也有:
灣如果刪除表foo中的foo_id爲2的行,則表foo中id = 2的行被自動刪除
d。如果表foo中id = 2的行被刪除,在表foo2的與foo_id = 2的所有行被刪除
在我的例子,我會使用刪除語法:
DELETE FROM foo WHERE id = 2;
DELETE FROM foo2 WHERE foo_id = 2;
出於某種原因,我無法找到表之間的任何關係,雖然它似乎就像應該有一個。也許有一些MySQL設置,或者ON DELETE CASCADE
在表創建查詢中沒有正確使用?我想知道...
** MyISAM'和'InnoDB'之間** ** **正確性的顯着區別 – JalalJaberi
你是對的。這是** d **。對不起。 – JalalJaberi