gpt4 book ai didi

mysql - mariaDB 外键中的奇怪错误

转载 作者:行者123 更新时间:2023-11-30 23:47:42 26 4
gpt4 key购买 nike

您好,我希望有人能帮助我解决问题,因为当我尝试添加外键约束时出现此错误。

我的数据库名称是“hazard”

child :

CREATE TABLE `child` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`a` INT(11) NULL DEFAULT NULL,
`b` INT(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'

家长:

CREATE TABLE `parent` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`alfa` INT(11) NULL DEFAULT NULL,
`beta` INT(11) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'

这些是创建代码(使用 HeidiSQL)

当我尝试添加外键时与

ALTER TABLE CHILD MODIFY COLUMN A INT,add constraint fk_parent_child FOREIGN KEY(A) REFERENCES PARENT(ALFA);

ALTER TABLE CHILD add constraint fk1 foreign key (a) references parent(alfa);

同样的错误

Can't create table 'hazard.#sql-d04_53' (errno: 150)

我的许多使用 MariaDB 和 mySQL 的同学都会遇到这种情况

对于给您带来的不便,我们深表歉意,希望大家能帮助我们。

最佳答案

添加

KEY (`alfa`)

到父表。 “引用的列必须是 PRIMARY KEY 或 UNIQUE 索引。” – https://mariadb.com/kb/en/mariadb/foreign-keys/

http://sqlfiddle.com/#!9/b4c12

关于mysql - mariaDB 外键中的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29385103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com