如何修复`未知变量'sql-mode = ANSI'`?

时间:2013-05-10 04:19:36

标签: mysql

使用MySQL 5.5.27,在my.cnf中我有:

[mysql]
sql_mode=ANSI

启动mysql控制台后,我得到:

unknown variable 'sql-mode=TRADITIONAL'

MySQL doc Server SQL Modes显示该选项,为什么它不起作用?

(如果有帮助,我在OSX Lion上)

另外,here is a pastebin showing the things another person has tried, with no solution

3 个答案:

答案 0 :(得分:13)

sql-mode应位于[mysqld]部分,而不是[mysql]部分。如果您将sql-mode=ANSI移至[mysqld]部分,则应该有效。

答案 1 :(得分:8)

我很确定它不起作用的原因是因为它是mysqld而不是客户端的参数。我提出了另一种方法,你可以这样做。将您的用户my.cnf i.e. ~/.my.cnf编辑为:

[client]
init-command="set sql_mode='TRADITIONAL'"

答案 2 :(得分:2)

在配置文件中,您应该使用sql-mode名称(使用短划线,而不是下划线)

http://dev.mysql.com/doc/refman/5.5/en/server-options.html#option_mysqld_sql-mode

正如@cogsmos指出的那样,你应该把它[mysqld]部分