MySQL sql_mode "TRADITIONAL"
, czyli „tryb ścisły”, jest zdefiniowany przez dokumentację MySQL
jako:
Oto, jak upewnić się, że tryb_sql jest ustawiony na "TRADITIONAL"
.
Najpierw sprawdź swoje bieżące ustawienie:
mysql
mysql> SELECT @@GLOBAL.sql_mode;
+-------------------+
| @@GLOBAL.sql_mode |
+-------------------+
| |
+-------------------+
1 row in set (0.00 sec)
To zwróciło puste, domyślne, to źle:Twój tryb_sql nie jest ustawiony na „TRADYCYJNY”.
Więc edytuj plik konfiguracyjny:
sudo vim /etc/mysql/my.cnf
Dodaj tę linię w sekcji oznaczonej [mysqld]
:sql_mode="TRADITIONAL"
(jak zauważył fancyPants)
Następnie uruchom ponownie serwer:
sudo service mysql restart
Następnie sprawdź ponownie:
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)
Powodzenie! Jesteś teraz złoty.