คุณคงเคยเจอปัญหา #1366 - Incorrect integer value ในการ INSERT ค่าว่าง '' ลงในฐานข้อมูล MySQL กันบ้าง สำหรับวิธีแก้ไข ง่ายนิดเดียว
สาเหตุ
เพราะ MySQL อยู่ใน Strict Mode ทำให้การตรวจสอบในการ Debug ค่อนข้างจะเข้มงวดมากๆ
วิธีแก้ไข
จริงๆ แก้ได้หลายวิธี วิธียากๆ และเสียเวลาคือ ต้องไปไล่ Code แก้ Command ให้ถูกต้องตามหลัก (ใครจะมาเสียเวลา) วิธีง่ายๆ ให้ไปเปิดไฟล์ my.ini (ไปหาเอาเองนะว่าอยู่ตรงไหน) แล้วค้นหาบรรทัดที่เขียนว่า # Set the SQL mode to strict แล้ว Comment บรรทัดต่อจากนั้นด้วย # ตาม Code ด้านล่างจ้า
#Set the SQL mode to strict
#sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
แค่นี้ก็สามารถ INSERT ด้วยค่า '' ได้แล้วครับ
ปรับปรุงล่าสุด: 29 กรกฎาคม 2015 08:08 AM