看板 Database 關於我們 聯絡資訊
我使用的是MySQL InnoDB 目前有兩個資料表 announcement +------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | class | int(11) | YES | MUL | NULL | | | subject | varchar(50) | NO | | NULL | | | content | varchar(100) | NO | | NULL | | | start_date | date | NO | | NULL | | | end_date | date | NO | | NULL | | | contact_id | int(11) | YES | MUL | NULL | | +------------+--------------+------+-----+---------+----------------+ announcement_class +-------------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+-------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | description | varchar(50) | NO | UNI | NULL | | +-------------+-------------+------+-----+---------+----------------+ CONSTRAINT `announcement_ibfk_4` FOREIGN KEY (`class`) REFERENCES `announcement_class` (`id`) ON DELETE SET NULL ON UPDATE CASCADE, CONSTRAINT `announcement_ibfk_3` FOREIGN KEY (`contact_id`) REFERENCES `staff` (`id`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8 但是我這樣刪除nannouncement_class的時候 announcement裡面若有record參照到被刪除的nannouncement_class 理應上class要被設為NULL 但是我實際執行起來 那些有被參照到的record也被一併連鎖刪除了 請問是什麼問題呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.68.58.62
TeemingVoid:我遇過類似的的怪問題,請先執行: 08/04 21:56
TeemingVoid:show create table announcement_class; 08/04 21:56
TeemingVoid:看看有沒有針對同一欄位重複設定了foreign key。 08/04 21:57
您好 出現了這些... | announcement_class | CREATE TABLE `announcement_class` ( `id` int(11) NOT NULL auto_increment, `description` varchar(50) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `description` (`description`) ) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 | ※ 編輯: herman602 來自: 219.68.58.62 (08/05 01:22) 已解決 肇因於前端SQL statement的問題... 導致讓我覺得被刪除了@@! 謝謝TeemingVoid大大~~~~!! ※ 編輯: herman602 來自: 219.68.58.62 (08/05 02:02)
TeemingVoid:兩三回合水球就發現問題點, 原PO絕頂聰明反應真快! ^^ 08/05 02:09