今天用navcat往一個表添加外鍵的時候報錯: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to u ...
今天用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);
用這個語句運行的時候不會報錯,客戶端也會提示功能修改了多少條數據,但是重新查詢資料庫表結構的時候發現修改不成功,因為表類型不一樣是不能建立外鍵的