Det finns två sätt att göra detta.
- För aktuell Mysql-session (tillfällig lösning)
Kör först frågan för att få aktuellt SQL-läge för din mysql-server.
mysql> SELECT @@sql_mode;
+----------------------------------------------------------------+
| @@sql_mode |
+----------------------------------------------------------------+
|STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
+----------------------------------------------------------------+
1 row in set (0.00 sec)
Om resultatet innehåller STRICT_TRANS_TABLES
måste du ta bort det värdet för att tillåta infogningsfråga att passera NULL-värdet. Se till att din mysql-användare har behörighet att tillämpa dessa ändringar och starta om Mysql Server efter att ha tillämpat detta.
SET GLOBAL sql_mode = '';
- For Life Time of Mysql (permanent lösning)
Du måste uppdatera filen my.cnf. Platsen för den filen är:\etc\my.cnf eller \etc\mysql\mysql.cnf
Det kommer att finnas några standardparametrar inställda under [mysqld] som
[mysqld]
innodb_file_per_table=1
default-storage-engine=MyISAM
performance-schema=0
max_allowed_packet=268435456
open_files_limit=10000
Lägg bara till en rad under den
sql-mode=""
Se till att starta om Mysql Server efter att du har ändrat den här filen. Normalt är root-användare ägare till filen så du måste logga in med root-användare på servern.
För mer information om vad det här SQL-läget gör.
STRICT_TRANS_TABLES
Aktivera strikt SQL-läge för transaktionslagringsmotorer, och när det är möjligt för icke-transaktionella lagringsmotorer. Mer information finns i Strikt SQL-läge.
Se :http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_strict_trans_tables
NO_AUTO_CREATE_USER
Förhindra att GRANT-satsen automatiskt skapar nya användarkonton om den annars skulle göra det, om inte autentiseringsinformation anges. Uttrycket måste ange ett icke-tomt lösenord med IDENTIFIED BY eller en autentiseringsplugin med IDENTIFIED WITH.
Se:http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_no_auto_create_user
NO_ENGINE_SUBSTITUTION
Kontrollera automatiskt utbyte av standardlagringsmotorn när en sats som CREATE TABLE eller ALTER TABLE anger en lagringsmotor som är inaktiverad eller inte kompilerad i.
Se :http://dev.mysql.com /doc/refman/5.7/en/sql-mode.html#sqlmode_no_engine_substitution