gpt4 book ai didi

mysql - 创建主键和外键关系

转载 作者:行者123 更新时间:2023-11-29 02:54:22 24 4
gpt4 key购买 nike

我正在尝试创建一个名为 accounts 的表。我在 mysql workbench 中创建了一个可视化图表。我从图中复制了 sql 命令 尝试从我的命令行创建真实表,但命令行显示

ERROR 1215 (HY000): Cannot add foreign key constraint

这里是查询

CREATE TABLE accounts(
account_id INT NOT NULL AUTO_INCREMENT,
customer_id INT( 4 ) NOT NULL ,
account_type ENUM( 'savings', 'credit' ) NOT NULL,
balance FLOAT( 9 ) NOT NULL,
PRIMARY KEY ( account_id ),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
) ENGINE=INNODB;

最佳答案

客户表可能如下所示。父表(客户)中的列需要具有通用数据类型和索引。如果列类型/索引错误,FK 将在创建子表时失败。

并且对于一个 ALTER TABLE add constraint 命令,如果数据无效,它将失败。

顺便说一下,INT(4) 只是一个显示宽度。它仍然是一个整数。

create table customers(
customer_id int auto_increment primary key,
customerName varchar(100) not null
-- other columns
);

CREATE TABLE accounts(
account_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT( 4 ) NOT NULL ,
account_type ENUM( 'savings', 'credit' ) NOT NULL,
balance FLOAT( 9 ) NOT NULL,
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
) ENGINE=INNODB;

关于mysql - 创建主键和外键关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32323196/

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