MySQL Error number: MY-010915; Symbol: ER_SQL_MODE_MERGED_WITH_STRICT_MODE; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-010915; Symbol: ER_SQL_MODE_MERGED_WITH_STRICT_MODE; SQLSTATE: HY000
Message: ‘NO_ZERO_DATE’, ‘NO_ZERO_IN_DATE’ and ‘ERROR_FOR_DIVISION_BY_ZERO’ sql modes should be used with strict mode. They will be merged with strict mode in a future release.
错误说明
MY-010915(ER_SQL_MODE_MERGED_WITH_STRICT_MODE)是MySQL中一个常见的错误,提示SQL模式与严格SQL模式合并。当向MySQL请求修改或设置sql_mode时,MySQL引擎将检查当前会话中的SQL_MODE值,如果该值与正在设置的SQL模式值有冲突,MySQL将发出此错误消息。
常见案例
此错误通常发生在以下情况下:
1.在MySQL中创建或修改表结构时,如果表结构中同时包含数据类型和严格SQL模式下禁止的数据类型,则可能会发生此错误。
2.修改MySQL的SQL模式时,如果会话中的SQL模式和将要设置的SQL模式之间存在冲突,则可能会发生此错误。
3.在MySQL中执行查询时,如果查询中使用的表结构和查询参数在严格模式下禁止,则可能会发生此错误。
4.如果MySQL数据库不是使用严格模式设置的,则可能会发生此错误。
解决方法
此错误可能会发生在以上多种情况下,因此解决方案也不尽相同。以下是一些可能有用的提示:
1.当在MySQL中创建或修改表结构时,应检查表结构中的数据类型,确保表结构中的数据类型同时也允许在严格模式下。
2.当修改MySQL的SQL模式时,可尝试设置所有可用的SQL模式以及SQL_MODE值,以确保其与严格SQL模式合并。
3.在MySQL中执行查询时,应确保查询中使用的表结构和查询参数在严格模式下允许。
4.最后,确保MySQL数据库使用严格模式设置。可以使用下面的命令设置严格模式:
SET GLOBAL sql_mode=’STRICT_TRANS_TABLES’;