乐趣区

Mysql建表语句中显示双引号

在工作中使用 Mysql 数据库,发现建表后的 ddl 显示表名、字段都是双引号。这样的 ddl 在线上工单系统无法通过,需要将双引号转成反引号 (`) 才行。
通过执行命令 show VARIABLES like ‘%sql%’ 发现,sql_mode 的值是 ANSI_QUOTES。
查看 my.cnf 配置文件,发现有如下配置:
# 对本地的 mysql 客户端的配置
[client]
#default-character-set = utf8
# 对其他远程连接的 mysql 客户端的配置
[mysql]
default-character-set = utf8
# 本地 mysql 服务的配置

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
character-set-server = utf8
sql_mode=’ANSI_QUOTES’
default-storage-engine=INNODB

server-id=1
log-bin=mysql-bin
binlog_format=MIXED
expire_logs_days=30

[mysqld_safe]
log-error=/var/log/mysqld.log

将 mysqld 下的 sql_mode 配置去掉,重启服务即可。

退出移动版