MySQL Error number: MY-011068; Symbol: ER_DEPRECATED_SYNTAX_WITH_REPLACEMENT; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-011068; Symbol: ER_DEPRECATED_SYNTAX_WITH_REPLACEMENT; SQLSTATE: HY000
Message: The syntax ‘%s’ is deprecated and will be removed in a future release. Please use %s instead.
错误说明:
MY-011068:ER_DEPRECATED_SYNTAX_WITH_REPLACEMENT是MySQL定义的一个错误,通常提示给用户的是“此版本已过时,请使用新语法代替”。这一错误提示表明您正在使用MySQL新添加的但已弃用的语法。
常见案例
此错误通常发生在使用MySQL 5.5.5及之后版本时,用户尝试强制使用弃用但已失效的缩写形式或语句结构。例如,在MySQL 5.6版本中,在索引字段中使用“KEYS”已成为一种弃用语法,而MySQL的存储引擎使用“INDEX”创建索引。因此,运行MySQL 5.6及之后版本时尝试使用“KEYS”创建索引将会引起此错误提示。另一个更为常见的例子是,在MySQL 5.7中使用“FULLTEXT”关键字来创建全文索引。该语法是MySQL 5.6中新添加的但很快被弃用的语法,并且已失效。因此,使用该语法在MySQL 5.7中创建索引将会引发此错误提示。
解决方法:
要解决此问题,您可以尝试更改语句以使用更新的语法。MySQL还会提供详细说明,您可以根据描述使用新语法。例如,运行MySQL 5.6及之后版本时,可以尝试使用“INDEX”而不是“KEYS”创建索引,而在MySQL 5.7中,可以使用“CREATE FULLTEXT INDEX”。除此之外,您也可以到MySQL官方文档(https://dev.mysql.com/doc/refman/5.7/en/)搜索完整的使用说明,以获取最新的弃用语句和其代替的新的语法。
此外,可以更改MySQL的配置文件以关闭此提示。您可以通过在my.cnf中添加参数“SQL_MODE=IGNORE_SPACE”来关闭此提示。它将告诉MySQL引擎忽略交互式命令行中空格如何影响同一命令中的关键字。