假设我们有两个表,prac
和prac2
。
prac
:的CREATE TABLE语句
CREATE TABLE prac (
id int PRIMARY KEY,
name varchar(44),
area varchar(44)
);
我将在prac2
中有一个名为sid
的列,它将是外键,它将引用的列是prac
中的id
。
在这种情况下,添加外键的一般方法如下:
CREATE TABLE prac2 (
adm_id int PRIMARY KEY,
sid int,
fee_status varchar(20),
FOREIGN KEY (sid) REFERENCES prac(id)
);
我想到了一种不同的方法来执行这个查询:
CREATE TABLE prac2 (
adm_id int PRIMARY KEY,
sid int REFERENCES prac(id),
fee_status varchar(20)
);
我原以为查询会出现一些错误,但事实并非如此。
问题是这两个查询之间有什么区别?
外键约束和引用列之间有什么区别?
区别很简单-列引用被解析但被忽略。
请参阅fiddle-当使用列引用时,既不创建索引也不创建约束/外键。