MySQL新增外來鍵失敗ERROR 1452的解決
今天在學習資料庫新增外來鍵的時候,遇到了問題
我先建立了兩個表 orders 和 order_items ,儲存引擎都是InnoDB,
且都有orderid這個屬性(型別完全一樣),
但是我使用命令
[sql]
alter table order_items
add foreign key (orderid) references orders (orderid);
新增外來鍵的時候 出現了錯誤
[sql]
ERROR 1452 : Cannot add or update a child row: a foreign key constraint fails
最後才發現,原來是我的order_items表中已經存在了資料,且orderid這個屬性和orders中的不對應,因此如果新增外來鍵,就會導致錯誤
此時解決的辦法不外乎兩個:
1.刪除資料,再新增外來鍵
2.在orders中新增對應的項,再新增外來鍵.
我先建立了兩個表 orders 和 order_items ,儲存引擎都是InnoDB,
且都有orderid這個屬性(型別完全一樣),
但是我使用命令
[sql]
alter table order_items
add foreign key (orderid) references orders (orderid);
新增外來鍵的時候 出現了錯誤
[sql]
ERROR 1452 : Cannot add or update a child row: a foreign key constraint fails
最後才發現,原來是我的order_items表中已經存在了資料,且orderid這個屬性和orders中的不對應,因此如果新增外來鍵,就會導致錯誤
此時解決的辦法不外乎兩個:
1.刪除資料,再新增外來鍵
2.在orders中新增對應的項,再新增外來鍵.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24742969/viewspace-2120667/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql truncate table時解決外來鍵關聯MySql
- MYSQL的外來鍵MySql
- 解決Nessus外掛更新失敗問題
- 遠端連線 Mysql 失敗的解決方法MySql
- mysql不能新增外來鍵約束怎麼辦MySql
- mysql主從同步失敗Last_IO_Error: Got fatal error 1236 from master解決方法MySql主從同步ASTErrorGo
- mysql中的外來鍵MySql
- mysql(mariadb)啟動失敗解決方法MySql
- 【MySQL】mysqldump備份失敗與解決方案合集MySql
- jira-dev-tool外掛安裝失敗的解決方法dev
- centos 7 新增 nfs 開機啟動失敗解決方法CentOSNFS
- 解決linux crontab備份mysql失敗的問題LinuxMySql
- 兩表互為外來鍵的解決方案
- 一鍵解決 go get golang.org/x 包失敗Golang
- 【MySQL】ERROR 1175 安全模式UPDATE/DELETE操作失敗MySqlError模式delete
- crontab失敗的解決過程
- CentOS 7下MySQL服務啟動失敗的解決思路CentOSMySql
- Win7新增共享印表機登陸失敗的解決辦法Win7
- Git error: RPC 失敗; curl 18 傳輸已關閉 的解決方法GitErrorRPC
- Token驗證失敗的解決方法
- mysql建立外來鍵語句MySql
- wordpress 外掛 (主題)線上安裝失敗 解決辦法探索
- Windows系統解決PhPStudy MySQL啟動失敗問題WindowsPHPMySql
- Linux解決MySQL-python安裝失敗問題LinuxMySqlPython
- dbsnmp啟動失敗解決方法
- 解決Autowired注入失敗為nullNull
- 監聽啟動失敗解決
- SVN clean失敗解決方法【轉】
- npm install失敗解決方法NPM
- npm安裝失敗解決方案NPM
- git clone失敗問題解決Git
- pyhanlp下載失敗解決方法HanLP
- puppeteer 安裝失敗的解決辦法
- Eclipse 安裝 Axis2外掛失敗問題解決方案Eclipse
- [轉] mysql 外來鍵(Foreign Key)的詳解和例項MySql
- MySQL啟動失敗MySql
- NPM run dev 失敗解決辦法NPMdev
- 解決linux rz傳輸失敗Linux