gpt4 book ai didi

MySQL无法创建表错误代码1005

转载 作者:行者123 更新时间:2023-11-29 22:11:14 28 4
gpt4 key购买 nike

当我尝试执行此语句时,出现此错误:

#1005 - Can't create table 'school2.#sql-1060_74' (errno: 150)

#Supports transactions, row-level locking, and foreign keys

我不知道哪里出了问题。

CREATE TABLE `class` (
`class_num` varchar(50) NOT NULL ,
`sec` varchar(10) NOT NULL ,
`tmpo_no` varchar(50) NOT NULL,
PRIMARY KEY (`class_num`,`sec`));

CREATE TABLE `class_has_taken` (
`class_num` varchar(50) NOT NULL,
`sec` varchar(10) NOT NULL,
`std_id` INT NOT NULL,
`year` DATE NOT NULL);

ALTER TABLE `class_has_taken` ADD CONSTRAINT `class_has_taken_fk0` FOREIGN KEY (`class_num`) REFERENCES `class`(`class_num`) ON DELETE CASCADE ON UPDATE CASCADE;

ALTER TABLE `class_has_taken` ADD CONSTRAINT `class_has_taken_fk2` FOREIGN KEY (`sec`) REFERENCES `class`(`sec`) ON DELETE CASCADE ON UPDATE CASCADE;

最佳答案

  1. 请在建表时添加InnoDB Engine并尝试。

  2. 同时从更改查询中删除“删除时”。因为您正在尝试设置 null。但是您提到创建表中的某些字段不为空。

  3. 如果仍然出现错误,请运行此命令,

    显示引擎 INNODB 状态;

它会说明为什么你的约束失败。

关于MySQL无法创建表错误代码1005,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31647407/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com