创建外键的 MySQL 语法

标签 mysql foreign-keys

此语法在创建外键时是否正确?

create table department
(
  departmentID int not null auto_increment primary key,
  name varchar(30)
) type=InnoDB;

create table employee
(
  employeeID int not null auto_increment primary key,
  name varchar(80),
  job varchar(30),
  departmentID int not null references department(departmentID)
) type=InnoDB;

最佳答案

看起来 MySQL 接受了它(不提示语法)但实际上并没有创建外键。

要创建这个外键,运行这个命令:

ALTER TABLE employee ADD CONSTRAINT fk_department FOREIGN KEY (departmentID) REFERENCES department (departmentID);

关于创建外键的 MySQL 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6977086/

相关文章:

mysql - 简单的 mysql 更新语句卡在大型数据库上

Mysql 'Cascade On Delete' 删除父项时外键行不删除

sql - 检查外键约束 "online"

MySQL 外键约束失败

PHP mysql order by 如果 this == this,则按此排序,否则按此排序?

java - 连接 JDBC MySQL 时出现异常

javascript - 未知的 node.js 和 websockets 服务器停止。谁修改我的代码?

php - 使用另一个表中的值将动态复选框写入表

sql - 是否可以确定由外键链接到的表?

ruby-on-rails - Rails ActiveRecord has_many 通过不工作