这是基本的 SQL 代码
create table users (
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(50),
last_name varchar(50),
age tinyint
);
insert into users (name, last_name, age)
values
("John", "Doe", 30),
("Jane", "Doe", 35);
create table departments (
user_id int,
department varchar(50),
foreign key (user_id) references users(id)
);
insert into departments
values
(1, "IT"),
(2, "HR");
我之前没有质疑过,但现在它对我来说看起来太奇怪了,所以我决定就此提出一个问题。为什么在定义外键关系时需要使用括号表示法而不是常规的点表示法?为什么不是
foreign key user_id references users.id
有效的语法?我不明白它会如何引起任何歧义或任何事情
我不确定“为什么”问题是这里的主题,但我希望它们是