use*_*208 5 mysql sql foreign-keys primary-key
我有一张桌子,看起来像这样:
mysql> SHOW COLUMNS FROM Users;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| user_id | int(10) | NO | PRI | NULL | auto_increment |
| username | varchar(50) | YES | | NULL | |
| password | varchar(255) | YES | | NULL | |
| email | varchar(255) | YES | | NULL | |
| phone | varchar(255) | YES | | NULL | |
Run Code Online (Sandbox Code Playgroud)
我正在尝试创建一个像这样的新表:
create table jobs (id int, FOREIGN KEY (user_id) REFERENCES Users(user_id)) ENGINE=INNODB;
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
ERROR 1072 (42000): Key column 'user_id' doesn't exist in table
我确信我缺少一些非常基本的东西。
尝试这个:
create table jobs (
id int,
user_id int,
FOREIGN KEY (user_id) REFERENCES Users(user_id)
) ENGINE=INNODB;
Run Code Online (Sandbox Code Playgroud)
第一个user_id外键约束是指已定义约束的表,第二个是它所指向的表。因此,您也需要user_id在Jobs表中添加一个字段。
| 归档时间: |
|
| 查看次数: |
16199 次 |
| 最近记录: |