使用 MySQL 5.5.27,在 my.cnf 我有:
[mysql]
sql_mode=ANSI
启动 mysql 控制台后,我得到:
unknown variable 'sql-mode=TRADITIONAL'
MySQL doc Server SQL Modes显示了该选项,那么为什么它不起作用?
(如果有帮助,我在 OSX Lion 上)
使用 MySQL 5.5.27,在 my.cnf 我有:
[mysql]
sql_mode=ANSI
启动 mysql 控制台后,我得到:
unknown variable 'sql-mode=TRADITIONAL'
MySQL doc Server SQL Modes显示了该选项,那么为什么它不起作用?
(如果有帮助,我在 OSX Lion 上)
sql-mode
应该在[mysqld]
节中,而不是在[mysql]
节中。如果您移至sql-mode=ANSI
该[mysqld]
部分,它应该可以工作。
我很确定它不起作用的原因是因为它是 mysqld 而不是客户端的参数。我想出了一种替代方法,您可以这样做。将您的用户 my.cnf 编辑i.e. ~/.my.cnf
为如下所示:
[client]
init-command="set sql_mode='TRADITIONAL'"
在配置文件中,您应该改用sql-mode
名称(使用破折号,而不是下划线)
http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_sql-mode
正如@cogsmos 指出的那样,你应该把它放在[mysqld]
部分