mysql - #1005 - 无法创建表 'hms.doctor'(错误号 : 150)

标签 mysql

当我执行以下查询时,出现上述错误。

CREATE TABLE doctor 
(
  id varchar(6) NOT NULL,
  Specialization varchar(15) NOT NULL,
  FOREIGN KEY(id) REFERENCES employee(id)
  on delete cascade on update cascade
);

问题出在哪里?

最佳答案

在添加任何指向它的 FK 之前,您需要在 employee(id) 上有一个索引。您还需要 doctor(id) 上的一个。在这两种情况下,主键似乎都是一个不错的选择。

不要忘记,在CREATE TABLE脚本中,PRIMARY KEY应该出现在FOREIGN KEY指令之前。

请参阅这篇文章以获取快速操作方法:How to add a primary key to a MySQL table?

关于mysql - #1005 - 无法创建表 'hms.doctor'(错误号 : 150),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594716/

相关文章:

mysql - 全文搜索 mysql 中的撇号

java - Unitils数据库异常

php - mysql 查询不显示结果

MYSQL MyIsaM 如何Join 2语句select + select count

python - 在访问 MySQL 时使用不同的用户进行选择/插入

php - 刷新数据库并删除条目

php - 拉维尔 4 : get current id to put id's from 2 tables in a third table

mysql - 我可以这样在 MySQL 中使用问号吗

PHP MySQL 使用 array() 打印每月数据不起作用

mysql - Ruby + Sequel + Sinatra + MySQL 连接问题