作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在类里面,我们都在“学习”数据库,每个人都在使用 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/
我是一名优秀的程序员,十分优秀!