MySQL sql_mode "TRADITIONAL"
, a.k.a. "strikt läge", definieras av MySQL-dokumenten
som:
Så här säkerställer du att ditt sql_mode är inställt på "TRADITIONAL"
.
Kontrollera först din nuvarande inställning:
mysql
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
| |
+-------------------+
1 row in set (0.00 sec)
Detta returnerade tomt, standard, det är dåligt:ditt sql_mode är inte inställt på "TRADITIONELL".
Så redigera konfigurationsfilen:
sudo vim /etc/mysql/my.cnf
Lägg till den här raden i avsnittet märkt [mysqld]
:sql_mode="TRADITIONAL"
(som fancyPants påpekade)
Starta sedan om servern:
sudo service mysql restart
Kontrollera sedan igen:
mysql
mysql> SELECT @@GLOBAL.sql_mode;
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| @@GLOBAL.sql_mode |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
| STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
Framgång! Du är gyllene nu.