MySQL语法错误 - 如果存在则删除外键

时间:2017-03-22 00:58:51

标签: mysql foreign-keys syntax-error

以下ALTER语句在我的本地(xamp)上运行正常,但在我的服务器(Debian)上,我收到此错误:

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 
'IF EXISTS `foreign_key1`' at line 1 

这是查询:

ALTER TABLE `table` DROP FOREIGN KEY IF EXISTS `foreign_key1`;

如何修复错误?

1 个答案:

答案 0 :(得分:0)

听起来您的开发环境正在运行MariaDB,而您的服务器正在运行MySQL。

MySQL不支持IF EXISTS语句中的ALTER TABLE

MariaDB 10.0支持该语法。

要确认每个环境中运行的版本,我们可以执行

SHOW VARIABLES LIKE 'version'

MariaDB https://mariadb.com/kb/en/mariadb/alter-table/

MySQL https://dev.mysql.com/doc/refman/5.7/en/alter-table.html

我不知道这是否回答了被问到的问题......“观察到的行为有什么解释?” (这是问题吗?)