數(shù)據(jù)庫表A:
CREATE TABLE task_desc_tab
(
id INT(11) PRIMARY KEY NOT NULL COMMENT '自增主鍵' AUTO_INCREMENT,
strong>taskname/strong> VARCHAR(200) NOT NULL COMMENT '任務(wù)名字',
sqlname VARCHAR(20) NOT NULL COMMENT 'sql文件名字',
params VARCHAR(5000) NOT NULL COMMENT '任務(wù)參數(shù),格式為一個(gè)JSON字符串',
updatetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '更新時(shí)間',
detail VARCHAR(3000) COMMENT '任務(wù)一些描述信息,只是備注信息作用'
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
數(shù)據(jù)庫B:
CREATE TABLE exec_plan_tab
(
id INT(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,
strong>taskname/strong> VARCHAR(200) NOT NULL,
startdate DATE NOT NULL,
enddate DATE NOT NULL,
updatetime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT exec_plan_tab_task_desc_tab_taskname_fk FOREIGN KEY (taskname) REFERENCES task_desc_tab (taskname)
)
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
目標(biāo):創(chuàng)建表使得表B中的taskname為外鍵,參考表A中的taskname字段,創(chuàng)建表發(fā)現(xiàn)報(bào)錯(cuò)如下:
[2018-07-19 15:02:29] [HY000][150] Create table 'daxin/#sql-5d_30' with foreign key constraint failed. There is no index in the referenced table where the referenced columns appear as the first columns.
[2018-07-19 15:02:29] [HY000][1215] Cannot add foreign key constraint
[2018-07-19 15:02:29] [HY000][1215] Cannot add foreign key constraint
經(jīng)過排查找到問題原因: 表A中的taskname必須使用UNIQUE字段修飾,這樣保證記錄唯一性,當(dāng)表B參考時(shí)候不會(huì)出現(xiàn)歧義。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- mysql導(dǎo)入csv的4種報(bào)錯(cuò)的解決方法
- 解決navicat遠(yuǎn)程連接mysql報(bào)錯(cuò)10038的問題
- Navicat Premiun遠(yuǎn)程連接MySQL報(bào)錯(cuò)10038解決方案
- 解決Navicat Premium 連接 MySQL 8.0 報(bào)錯(cuò)"1251"的問題分析
- mysql 主從復(fù)制如何跳過報(bào)錯(cuò)
- IDEA鏈接MySQL報(bào)錯(cuò)08001和連接成功后不顯示表的問題及解決方法
- MySQL數(shù)據(jù)庫導(dǎo)入導(dǎo)出數(shù)據(jù)之報(bào)錯(cuò)解答實(shí)例講解