我有一个旧的应用程序,从MySQL 5.0升级到5.1后开始失败.
一些研究表明这是由于"严格模式"导致阻止插入某些类型的"无效"值,这些值之前只是自动转换为合理的值.
我试过SET @@SESSION.sql_mode = ''和SET @@GLOBAL.sql_mode = '',但我仍然得到错误.
也尝试在评论sql_mode中my.ini.
有没有更强大的"核"选择来解决这个问题?
在我的应用程序中,我通常通过发出确保MySQL连接使用传统模式
SET SESSION sql_mode = 'ANSI_QUOTES,TRADITIONAL'
Run Code Online (Sandbox Code Playgroud)
在每个新连接上.我认为如果你刚发出
SET SESSION sql_mode = ''
Run Code Online (Sandbox Code Playgroud)
在每个新连接上,您将解决问题.
您应该能够通过发出更改新连接的默认SQL模式
SET GLOBAL sql_mode = ''
Run Code Online (Sandbox Code Playgroud)
但您必须使用具有足够权限的帐户才能执行此操作,否则将无法使用.
我认为,如果您想确保特定的SQL模式正在为您的应用程序运行,那么最有效的方法是为每个新连接设置它.
| 归档时间: |
|
| 查看次数: |
2216 次 |
| 最近记录: |