码迷,mamicode.com
首页 > 数据库 > 详细

mysq添加外键报错:check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=InnoDB' at line 1

时间:2017-05-18 15:46:59      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:ble   解决   log   状态   foreign   表名   check   分享   类型   

今天用navcat往一个表添加外键的时候报错:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=InnoDB‘ at line 1

排查之后发现是因为两个表的类型不一样所致:

 SQL:SHOW TABLE STATUS 查询出数据表的状态,Engine那一列就是

技术分享

 

 使用语句修改表类型:ALTER TABLE `cms_channel` ENGINE = INNODB;

问题解决

===============================================================

 

顺便给出添加外键的sql语句:

alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的主键字段名);

例子:

alter table cms_article add constraint FK_ARTICLE_DEPT_1 foreign key(dept_id) REFERENCES sys_department(id);

 

用这个语句运行的时候不会报错,客户端也会提示功能修改了多少条数据,但是重新查询数据库表结构的时候发现修改不成功,因为表类型不一样是不能建立外键的

 

mysq添加外键报错:check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=InnoDB' at line 1

标签:ble   解决   log   状态   foreign   表名   check   分享   类型   

原文地址:http://www.cnblogs.com/flesym/p/6873431.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!