gpt4 book ai didi

mysql - SQL - CONSTRAINT 链接两个表

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:42 27 4
gpt4 key购买 nike

我不明白如何将两个表链接在一起。这是一个例子:

CREATE TABLE IF NOT EXISTS itemStatus (
id int(11) AUTO_INCREMENT PRIMARY KEY,
name varchar(64) NOT NULL UNIQUE KEY
);

CREATE TABLE IF NOT EXISTS itemData (
id int(11) AUTO_INCREMENT PRIMARY KEY,
title varchar(64) NOT NULL,
status_id int(11) DEFAULT NULL,
CONSTRAINT `fk_id` FOREIGN KEY (`id`) REFERENCES `itemStatus` (`id`),
);

我将行称为“status_id”,但我没有在任何地方引用它,因此无法将两者联系起来。对于此示例,我的“CONSTRAINT”行是否应该正确阅读?

最佳答案

A FOREIGN KEY in one table points to a PRIMARY KEY in another table.

看看: http://www.w3schools.com/sql/sql_foreignkey.asp

所以应该是:

CREATE TABLE IF NOT EXISTS itemStatus (
id int(11) AUTO_INCREMENT PRIMARY KEY,
name varchar(64) NOT NULL UNIQUE KEY
);

CREATE TABLE IF NOT EXISTS itemData (
id int(11) AUTO_INCREMENT PRIMARY KEY,
title varchar(64) NOT NULL,
status_id int(11) DEFAULT NULL,
CONSTRAINT `fk_id` FOREIGN KEY (`status_id`) REFERENCES `itemStatus` (`id`)
);

FOREIGN KEY (status_id) => 表中的字段将REFERENCES itemStatus (id )

约束不能有“,”当它是最后一个时:
(...) 引用资料 itemStatus (id),

所以结构应该是:

CONSTRAINT <<CONSTRAINT_NAME>> FOREIGN KEY (<<COLUMN_IN_THE_TABLE>>) REFERENCES `<<ANOTHER_TABLE>>` (`<<ANOTHER_TABLE_COLUMN_ID>>`)

关于mysql - SQL - CONSTRAINT 链接两个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25713882/

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