Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 外键约束错误_Mysql_Mysql Error 1005 - Fatal编程技术网

Mysql 外键约束错误

Mysql 外键约束错误,mysql,mysql-error-1005,Mysql,Mysql Error 1005,我有两张桌子,一张是戒指,另一张是样式 CREATE TABLE IF NOT EXISTS `ring` ( `jewelry_id` int(11) NOT NULL auto_increment, `ring_id` varchar(50) NOT NULL, `gender` varchar(10) NOT NULL, `description` text NOT NULL, `image` varchar(100) NOT NULL, `type` text N

我有两张桌子,一张是戒指,另一张是样式

CREATE TABLE IF NOT EXISTS `ring` ( `jewelry_id` int(11) NOT NULL auto_increment, `ring_id` varchar(50) NOT NULL, `gender` varchar(10) NOT NULL, `description` text NOT NULL, `image` varchar(100) NOT NULL, `type` text NOT NULL, PRIMARY KEY (`jewelry_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; 如果不存在“环”,则创建表( `珠宝id`int(11)非空自动增量, `ring_id`varchar(50)不为空, `性别'varchar(10)不为空, `description`文本不为空, `图像'varchar(100)不为空, `键入'text NOT NULL, 主键(`jewelry\u id`) )ENGINE=MyISAM默认字符集=latin1自动增量=1; 西尔的桌子是空的

CREATE TABLE IF NOT EXISTS `style` ( `style_id` int(11) NOT NULL AUTO_INCREMENT, `style` text NOT NULL, `jewelry_id` int(11) NOT NULL, PRIMARY KEY (`style_id`), KEY `jewelry_id` (`jewelry_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; 如果不存在“样式”,则创建表( `style_id`int(11)非空自动增量, `样式`文本不为空, `珠宝id`int(11)不为空, 主键(`style_id`), 钥匙“珠宝id”(“珠宝id”) )ENGINE=InnoDB默认字符集=latin1自动增量=1; 当我向样式表添加外键时,它会给我错误信息,即

ALTER TABLE `style` ADD CONSTRAINT `style_ibfk_1` FOREIGN KEY (`jewelry_id`) REFERENCES `ring` (`jewelry_id`) ON DELETE CASCADE ON UPDATE CASCADE; 改变表格样式` 在更新级联的删除级联上添加约束`style\u ibfk\u 1`外键(`jewelry\u id`)引用`ring`(`jewelry\u id`); 错误是

#1005 - Can't create table './j_jewelry/#sql-2c3b_750.frm' (errno: 150) (Details...</a>)
#1005-无法创建表'./j#u jewelry/#sql-2c3b_750.frm'(错误号:150)(详细信息…MyISAM表不支持外键。将两个表都设置为InnoDB。

对于引用表类型的外键,表类型应为InnoDB

他正在向样式表添加约束,该样式表为InnoDB。@Dan:对于新用户提出的格式良好的问题,两个表都必须为InnoDB.+1。欢迎来到SO。