MySQL รุ่นใหม่ๆ เช่น 5.7 หรือ MariaDB 10.3 มีความ strict เรื่อง query มากขึ้น ซึ่งถ้าโค้ดเก่าเรายังไม่รองรับก็ใช้วิธีแก้แบบกึ่งบาปไปก่อนโดยใส่ใน my.cnf ประมาณนี้
#sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
sql_mode = NO_ENGINE_SUBSTITUTION
แก้แล้วต้อง restart ทีนึง ทดสอบโดยการ SELECT ขึ้นมาดู
mysql> select @@SQL_MODE, @@GLOBAL.SQL_MODE;
+------------------------+------------------------+
| @@SQL_MODE | @@GLOBAL.SQL_MODE |
+------------------------+------------------------+
| NO_ENGINE_SUBSTITUTION | NO_ENGINE_SUBSTITUTION |
+------------------------+------------------------+
1 row in set (0.00 sec)