gpt4 book ai didi

mysql - 如何在 MySQL 中创建关系

转载 作者:IT老高 更新时间:2023-10-28 12:51:44 25 4
gpt4 key购买 nike

在类里面,我们都在“学习”数据库,每个人都在使用 Access。对此感到厌烦,我正在尝试做其他类(class)正在做的事情,但使用 MySQL 的原始 SQL 命令而不是使用 Access。

我已经成功地创建了数据库和表,但是现在如何在两个表之间建立关系?

如果我有两个这样的表:

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 )
)

CREATE TABLE customers(
customer_id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
address VARCHAR(20) NOT NULL,
city VARCHAR(20) NOT NULL,
state VARCHAR(20) NOT NULL,
PRIMARY KEY ( customer_id )
)

如何在两个表之间创建“关系”?我希望为每个帐户“分配”一个 customer_id(以表明谁拥有它)。

最佳答案

如果表是innodb,你可以这样创建:

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;

你必须指定表是 innodb 因为 myisam 引擎不支持外键。看here了解更多信息。

关于mysql - 如何在 MySQL 中创建关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/260441/

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