nic*_*ico 10 mysql foreign-keys mysql-error-1005
我正在尝试在表的两列上创建一个外键以指向另一个表的同一列,但我似乎得到一个错误...
这是我做的:
CREATE TABLE test2 (
ID INT NOT NULL AUTO_INCREMENT,
col1 INT NOT NULL,
col2 INT NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT fk FOREIGN KEY (col1, col2)
REFERENCES test1(ID, ID)
ON UPDATE CASCADE
ON DELETE RESTRICT
) ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)
但我明白了
ERROR 1005 (HY000): Can't create table 'DB.test2' (errno: 150)
但是,如果我只有一列,则表格已正确创建.
有人能指出我的错误在哪里吗?
谢谢你
在这里尝试并得到了同样的错误.这有效:
CREATE TABLE test2 (
ID INT NOT NULL AUTO_INCREMENT,
col1 INT NOT NULL,
col2 INT NOT NULL,
PRIMARY KEY (ID),
CONSTRAINT fk FOREIGN KEY (col1)
REFERENCES test1(ID)
ON UPDATE CASCADE
ON DELETE RESTRICT,
CONSTRAINT fk2 FOREIGN KEY (col2)
REFERENCES test1(ID)
ON UPDATE CASCADE
ON DELETE RESTRICT
) ENGINE=InnoDB
Run Code Online (Sandbox Code Playgroud)
是的,我知道 - 你的脚本应该可行(即使它似乎没有多大意义).然而,我想这个新版本更好.
| 归档时间: |
|
| 查看次数: |
12841 次 |
| 最近记录: |