MySql版本問題sql_mode=only_full_group_by的完美解決方案
· 第一種實作方式
1. 登入資料庫
[[email protected] ~]# mysql -uroot -proot;
2. 檢視sql_mode
mysql> select @@sql_mode;
3. 去掉ONLY_FULL_GROUP_BY,重新設定值。
mysql> SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,
NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
4. 更新已存在的資料庫sql_mode
mysql> SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
5. 退出重新開機mysql
· 第二種實作方式
1. 修改配置檔案my.cnf
vi /etc/my.cnf
[mysqld]
sql-mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION