以下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`;
如何修复错误?
答案 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
我不知道这是否回答了被问到的问题......“观察到的行为有什么解释?” (这是问题吗?)