mysql 使用foreign key(外來鍵)
實驗:
//建立父表,並新增索引
CREATE TABLE parent(id INT,msg VARCHAR(200), INDEX index_id(id));
//檢視索引
SHOW INDEX FROM parent;
//建立子表(外來鍵)
CREATE TABLE child (c_id INT,c_mgs VARCHAR(200),FOREIGN KEY (c_id) REFERENCES parent (id)
ON DELETE CASCADE ON UPDATE CASCADE );
//插入資料
INSERT INTO parent VALUES (1,'aaa');
INSERT INTO child VALUES (1,'aaa');
------注意:如果子表外來鍵參照的主表沒有資料,子表插入資料將會報錯
INSERT INTO child VALUES (2,'aaa');
錯誤程式碼: 1452
Cannot add or update a child row: a foreign key constraint fails (`czb`.`child`, CONSTRAINT `child_ibfk_1` FOREIGN KEY (`c_id`) REFERENCES `parent` (`id`) ON DELETE CASCADE ON UPDATE CASCADE)
//檢視插入資料
SELECT * FROM parent;
SELECT * FROM child;
//檢視外來鍵約束
SELECT * FROM information_schema.`KEY_COLUMN_USAGE` WHERE table_name='child';
SELECT * FROM information_schema.`REFERENTIAL_CONSTRAINTS`;
//刪除外來鍵約束
ALTER TABLE child DROP FOREIGN KEY child_ibfk_1;
//新增外來鍵約束
ALTER TABLE child ADD FOREIGN KEY (c_id) REFERENCES parent (id)
ON DELETE CASCADE ON UPDATE CASCADE
ALTER TABLE child ADD FOREIGN KEY (c_id) REFERENCES parent (id)
ON DELETE CASCADE ON UPDATE CASCADE
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30345407/viewspace-2096218/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql 外來鍵(FOREIGN KEY)使用注意事項MySql
- 詳解外來鍵約束(foreign key)
- [轉] mysql 外來鍵(Foreign Key)的詳解和例項MySql
- 外來鍵刪除(T-SQL Drop Foreign Key)SQL
- mysql啟動和關閉外來鍵約束的方法(FOREIGN_KEY_CHECKS)MySql
- 【Foreign Key】Oracle外來鍵約束三種刪除行為Oracle
- 聊聊Oracle外來鍵約束(Foreign Key)的幾個操作選項Oracle
- 建立外來鍵時報 Cannot add foreign key constraint 解決方法AI
- 如何使外來鍵(Foreign Key)或其他constraint失效的語句AI
- oracle foreign key外來鍵_更新主表對於子表三種行為控制Oracle行為控制
- MySQL 建立外來鍵報錯Can't write; duplicate key in tableMySql
- MYSQL的外來鍵MySql
- mysql中的外來鍵MySql
- mysql建立外來鍵語句MySql
- 【YashanDB資料庫】自關聯外來鍵插入資料時報錯:YAS-02033 foreign key constraint violated parent key not found資料庫AI
- SQL FOREIGN KEY 約束SQL
- 教你mysql如何增加外來鍵約束MySql
- MySQL禁用恢復外來鍵約束MySql
- mysql 刪除老是報外來鍵約束MySql
- sqlserver外來鍵SQLServer
- Mysql truncate table時解決外來鍵關聯MySql
- mysql不能新增外來鍵約束怎麼辦MySql
- MySQL 用隨機資料填充外來鍵表MySql隨機
- mysql啟動和關閉外來鍵約束MySql
- 關於primary key和foreign key的問題處理
- indexedDB 內鍵與外來鍵Index
- foreign key的一些總結
- Flashback table with foreign key constraint.AI
- 在 SQL Server 中 你可以使用以下查詢來找到引用 的 FOREIGN KEY 約束SQLServer
- 外來鍵技術
- MySQL之外來鍵MySql
- 如何在MySQL資料庫中定義外來鍵ZMMySql資料庫
- MySQL新增外來鍵失敗ERROR 1452的解決MySqlError
- mysql資料庫匯入外來鍵約束問題MySql資料庫
- mysql~資料完整性考慮~外來鍵約束MySql
- 父表修改與外來鍵的關係(主鍵DML與外來鍵的關係)
- mysql 外來鍵索引入門介紹,為什麼工作中很少有人使用?MySql索引
- JBoss中cmr時複合關鍵字類的foreign keys mapping問題APP