Има 2 начина да направите това.
- За текуща сесия на Mysql (временно решение)
Първо изпълнете заявка, за да получите текущия SQL режим на вашия mysql сървър.
mysql> SELECT @@sql_mode;
+----------------------------------------------------------------+
| @@sql_mode |
+----------------------------------------------------------------+
|STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
Ако резултатът съдържа STRICT_TRANS_TABLES
, трябва да премахнете тази стойност, за да позволите на заявката за вмъкване да предаде NULL стойност. Уверете се, че вашият потребител на mysql има привилегии да приложи тези промени и рестартирайте Mysql сървър, след като приложите това.
SET GLOBAL sql_mode = '';
- За цял живот на Mysql (постоянно решение)
Трябва да актуализирате файла my.cnf. Местоположението на този файл е:\etc\my.cnf или \etc\mysql\mysql.cnf
Ще има някои параметри по подразбиране, зададени под [mysqld] като
[mysqld]
innodb_file_per_table=1
default-storage-engine=MyISAM
performance-schema=0
max_allowed_packet=268435456
open_files_limit=10000
Просто добавете един ред под това
sql-mode=""
Уверете се, че рестартирате Mysql Server след промяна на този файл. Обикновено root потребителят ще бъде собственик на файла, така че трябва да влезете с root потребител на сървъра.
За повече подробности, за да разберете какво прави този режим на SQL.
STRICT_TRANS_TABLES
Активирайте строг SQL режим за транзакционни машини за съхранение и, когато е възможно, за машини за съхранение без транзакции. За подробности вижте строг SQL режим.
Вижте:http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_strict_trans_tables
НЕ_AUTO_CREATE_USER
Не позволявайте на оператора GRANT да създава автоматично нови потребителски акаунти, ако иначе би го направил, освен ако не е посочена информация за удостоверяване. Инструкцията трябва да посочи непразна парола, използваща IDENTIFIED BY или плъгин за удостоверяване, използващ IDENTIFIED WITH.
Вижте:http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_no_auto_create_user
БЕЗ ЗАМЕНА НА_ENGINE_ENGINE
Контролирайте автоматичното заместване на механизма за съхранение по подразбиране, когато израз като CREATE TABLE или ALTER TABLE определя машина за съхранение, която е деактивирана или не е компилирана.
Вижте:http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_no_engine_substitution