sql >> Database teknologi >  >> RDS >> Mysql

MySQL:Indstilling af sql_mode permanent

MySQL sql_mode "TRADITIONAL" , a.k.a. "strict mode", er defineret af MySQL-dokumenterne som:

Sådan sikrer du, at din sql_mode er indstillet til "TRADITIONAL" .

Tjek først din nuværende indstilling:

mysql
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
|                   |
+-------------------+
1 row in set (0.00 sec)

Dette returnerede blankt, standarden, det er dårligt:​​din sql_mode er ikke indstillet til "TRADITIONAL".

Så rediger konfigurationsfilen:

sudo vim /etc/mysql/my.cnf

Tilføj denne linje i sektionen mærket [mysqld] :sql_mode="TRADITIONAL" (som fancyPants påpegede)

Genstart derefter serveren:

sudo service mysql restart

Tjek derefter 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)

Succes! Du er gylden nu.



  1. Sådan udføres SQL-forespørgsel uden at vise resultater

  2. Oracle-tekst undslipper med krøllede seler og jokertegn

  3. Kan ikke oprette tabel (errno:150) på FOREIGN KEY

  4. SYSDATE-funktion i Oracle