外键问题:错误1005(HY000):无法创建表(错误号:150)

用户名

我收到此错误:ERROR 1005 (HY000): Can't create table (errno: 150);我知道它与外键有关,但是我检查了它们是否具有相同的信息类型,等等,但我找不到问题。视频,导演演员,角色和成员创建;其余的不。

CREATE TABLE IF NOT EXISTS actor (
  actorNo VARCHAR(15) NOT NULL,
  actorName VARCHAR(40) NOT NULL,
  PRIMARY KEY (actorNo)
) ENGINE=InnoDB;


CREATE TABLE IF NOT EXISTS staff (
  StaffNo VARCHAR (15) NOT NULL,
  name VARCHAR(40) NOT NULL,
  position VARCHAR(40) ,
  salary FLOAT(5,2) ,
  branchNo VARCHAR(15) NOT NULL,
FOREIGN KEY (branchNo) REFERENCES branch(branchNo),
  UNIQUE KEY (name,branchNo)
) ENGINE=InnoDB;

SHOW TABLES;

CREATE TABLE IF NOT EXISTS branch (
  branchNo VARCHAR(15) NOT NULL,
  Street VARCHAR (40) ,
  City VARCHAR (20) ,
  State VARCHAR (40) ,
  zipCode VARCHAR (6) NOT NULL,
  StaffNo VARCHAR (15) NOT NULL,
  PRIMARY KEY (branchNo),
  UNIQUE KEY (zipCode), FOREIGN KEY (StaffNo) REFERENCES staff (StaffNo) ON DELETE NO ACTION ON UPDATE 
CASCADE) ENGINE=InnoDB; 

CREATE TABLE IF NOT EXISTS director (
  directorNo VARCHAR(15) NOT NULL,
  directorName VARCHAR(40) NOT NULL,
  PRIMARY KEY (directorNo)
) ENGINE=InnoDB;   

CREATE TABLE IF NOT EXISTS member (
  fName VARCHAR(20) ,
  lName VARCHAR(20) ,
  address VARCHAR (100) ,
  memberNo VARCHAR(15) NOT NULL,
  PRIMARY KEY (memberNo),
  UNIQUE KEY `CCfnmLnmAddr` (fName,lName,address)
) ENGINE=InnoDB;  

CREATE TABLE IF NOT EXISTS registration (
  branchNo VARCHAR (15) NOT NULL,
  memberNo VARCHAR (15) NOT NULL,
  StaffNo VARCHAR (15) NOT NULL,
  dateJoined date NOT NULL,
  PRIMARY KEY (branchNo, memberNo), 
FOREIGN KEY (memberNo) REFERENCES member (memberNo) ON DELETE SET NULL ON UPDATE 
CASCADE, FOREIGN KEY (StaffNo) REFERENCES staff (StaffNo) ON DELETE SET NULL ON UPDATE 
CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS videoforrent (
  videoNo INT(15) NOT NULL,
  available CHAR(1) NOT NULL,
  catalogNo VARCHAR (15) ,
  branchNo  VARCHAR(15) NOT NULL,
  PRIMARY KEY (videoNo),
  UNIQUE KEY CCAvailBrnchNoCatNo (available, branchNo,catalogNo), FOREIGN KEY (catalogNo) REFERENCES video (catalogNo) ON DELETE CASCADE ON UPDATE 
CASCADE, FOREIGN KEY (branchNo) REFERENCES branch (branchNo) ON DELETE CASCADE ON UPDATE 
CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS video (
  catalogNo VARCHAR(10) ,
  title VARCHAR(100) NOT NULL,
  category VARCHAR(30) ,
  dailyRental FLOAT(4,2) ,
  price FLOAT(5,2) ,
  directorNo VARCHAR(10) NOT NULL,
  PRIMARY KEY (catalogNo),
  UNIQUE KEY `CCTitleDrNo` (title,directorNo)
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS rentalagreement (
  rentalNo VARCHAR(15) NOT NULL,
  dateOut DATE NOT NULL,
  dateReturn DATE ,
  memberNo VARCHAR(15) NOT NULL,
  videoNo INT(15) NOT NULL,
  PRIMARY KEY (rentalNo),
  UNIQUE KEY `CCdtOutMembrNoVidNo` (dateOut,memberNo,videoNo),
  FOREIGN KEY (videoNo) REFERENCES videoforrent (videoNo) ON DELETE SET NULL ON UPDATE 
CASCADE, FOREIGN KEY (memberNo) REFERENCES member (memberNo) ON DELETE NO ACTION ON UPDATE 
CASCADE) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS role (
    actorNo VARCHAR(15) NOT NULL,
  catalogNo INT(11) NOT NULL,
  charachter VARCHAR(40),
  PRIMARY KEY (actorNo, catalogNo)
) ENGINE=InnoDB;
ffflabs

您有FK定义,它们将尝试在非null列上设置null值。因此,不可能进行FK声明。

CREATE TABLE IF NOT EXISTS registration (
  branchNo VARCHAR (15) NOT NULL,
  memberNo VARCHAR (15) **NOT NULL**,
  StaffNo VARCHAR (15) **NOT NULL**,
  dateJoined date NOT NULL,
  PRIMARY KEY (branchNo, memberNo), 
FOREIGN KEY (memberNo) REFERENCES member (memberNo) ON DELETE **SET NULL** ON UPDATE 
CASCADE, 
FOREIGN KEY (StaffNo) REFERENCES staff (StaffNo) ON DELETE **SET NULL** ON UPDATE 
CASCADE
) ENGINE=InnoDB;

您可以设置“在DELETE CASCADE上”或允许这些字段为空。

您在其他表上可能有相同的错误。我只是停在发现的第一个错误:)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQLSTATE [HY000]:一般错误:1005无法创建表Data。company_eligibilities(错误号:150“外键约束格式不正确”)

来自分类Dev

错误 1005 (HY000): 无法创建表 'CBDB.Subsystem' (errno: 150)

来自分类Dev

zendfox安装期间发生错误,SQLSTATE [HY000]:常规错误:1005(错误号:150)

来自分类Dev

zendfox安装期间发生错误,SQLSTATE [HY000]:常规错误:1005(错误号:150)

来自分类Dev

SQLSTATE [HY000]:常规错误:1005无法创建表-Laravel 4

来自分类Dev

SQLSTATE [HY000]:一般错误:1005无法创建表auth。order_items。

来自分类Dev

错误1215(HY000):无法添加外键约束

来自分类Dev

错误1215(HY000):无法添加外键约束

来自分类Dev

mysql无法添加外键:错误1215(hy000)

来自分类Dev

错误1215(HY000):无法添加外键约束?

来自分类Dev

#1005-无法创建表“ EmployeeShifts”(错误号:150)

来自分类Dev

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

来自分类Dev

Laravel一般错误:1005无法创建表`categories_products`(错误号:150“外键约束格式不正确”)

来自分类Dev

MySQL错误1005(HY000):无法建立表格

来自分类Dev

无法在MySQL中创建外键约束。错误号150

来自分类Dev

MySQL-无法创建表(错误号:150)-外键约束

来自分类Dev

无法创建表`travel`.`city`(错误号:150“外键约束形成不正确”)

来自分类Dev

错误1005:无法创建表(errno 150)

来自分类Dev

错误:SQLSTATE [HY000]:常规错误:1215无法在Phalcon中添加外键约束

来自分类Dev

错误:错误 1215 (HY000):无法添加外键约束

来自分类Dev

错误代码:1005-无法创建表(错误号:150)

来自分类Dev

MySQL:错误1215(HY000):无法添加外键约束

来自分类Dev

MySQL错误1215(HY000):无法添加外键约束

来自分类Dev

无法添加外键约束-MySQL错误1215(HY000)

来自分类Dev

Laravel 5.0 [PDOException] SQLSTATE [HY000]:常规错误:1215无法添加外键约束

来自分类Dev

错误1215(HY000):无法添加外键约束。尝试了很多次

来自分类Dev

第13行的错误1215(HY000):无法添加外键约束

来自分类Dev

#1005-无法创建表“ demo.survey”(错误号:150)

来自分类Dev

无法创建表`mailorder`.`o_details`(错误号:150“外键约束格式不正确”)

Related 相关文章

  1. 1

    SQLSTATE [HY000]:一般错误:1005无法创建表Data。company_eligibilities(错误号:150“外键约束格式不正确”)

  2. 2

    错误 1005 (HY000): 无法创建表 'CBDB.Subsystem' (errno: 150)

  3. 3

    zendfox安装期间发生错误,SQLSTATE [HY000]:常规错误:1005(错误号:150)

  4. 4

    zendfox安装期间发生错误,SQLSTATE [HY000]:常规错误:1005(错误号:150)

  5. 5

    SQLSTATE [HY000]:常规错误:1005无法创建表-Laravel 4

  6. 6

    SQLSTATE [HY000]:一般错误:1005无法创建表auth。order_items。

  7. 7

    错误1215(HY000):无法添加外键约束

  8. 8

    错误1215(HY000):无法添加外键约束

  9. 9

    mysql无法添加外键:错误1215(hy000)

  10. 10

    错误1215(HY000):无法添加外键约束?

  11. 11

    #1005-无法创建表“ EmployeeShifts”(错误号:150)

  12. 12

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

  13. 13

    Laravel一般错误:1005无法创建表`categories_products`(错误号:150“外键约束格式不正确”)

  14. 14

    MySQL错误1005(HY000):无法建立表格

  15. 15

    无法在MySQL中创建外键约束。错误号150

  16. 16

    MySQL-无法创建表(错误号:150)-外键约束

  17. 17

    无法创建表`travel`.`city`(错误号:150“外键约束形成不正确”)

  18. 18

    错误1005:无法创建表(errno 150)

  19. 19

    错误:SQLSTATE [HY000]:常规错误:1215无法在Phalcon中添加外键约束

  20. 20

    错误:错误 1215 (HY000):无法添加外键约束

  21. 21

    错误代码:1005-无法创建表(错误号:150)

  22. 22

    MySQL:错误1215(HY000):无法添加外键约束

  23. 23

    MySQL错误1215(HY000):无法添加外键约束

  24. 24

    无法添加外键约束-MySQL错误1215(HY000)

  25. 25

    Laravel 5.0 [PDOException] SQLSTATE [HY000]:常规错误:1215无法添加外键约束

  26. 26

    错误1215(HY000):无法添加外键约束。尝试了很多次

  27. 27

    第13行的错误1215(HY000):无法添加外键约束

  28. 28

    #1005-无法创建表“ demo.survey”(错误号:150)

  29. 29

    无法创建表`mailorder`.`o_details`(错误号:150“外键约束格式不正确”)

热门标签

归档