MySQL กับ error 1264 : Out of range value.........


 

น้องที่ทำงานเจอ error #1264 Out of range value adjusted for column 'ID' at row 1
ID เป็น auto increment เมื่อไม่ได้กำหนดค่าอะไร มันก็ควรจะเพิ่มค่าล่าสุดไปอีกหนึ่ง เช่น

INSERT INTO member(name) VALUES("Patrickz")

แต่กลายเป็นว่า มันขึ้น eror ดังกล่าวออกมา เมื่อลองทดสอบลองใส่ค่าให้ครบถ้วนกลับทำงานได้ตามปกติ

INSERT INTO member(ID,name) VALUES("10,Patrickz")

INSERT INTO member(ID,name) VALUES(10,"Patrickz")


วิธีแก้ (UPDATE 2006.05.30)
แก้ที่ my.ini ตรง sql-mode เอา STRICT_TRANS_TABLES ออก!

จาก
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"


เปลี่ยนเป็น
sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

user posted image

ยังไม่มีเวลาดูเท่าไหร่ แต่คิดว่า ทั้งหมดนี้ เป็นเรื่องของการรับประกันความถูกต้องของข้อมูลใน MySQL

note ไว้ก่อน มีเวลาค่อยกลับมาดู หัวจะฟูแล้ว 

ใครว่างๆ ช่วยดูให้หน่อยสิ
Guaranteeing Data Integrity with MySQL 5.0
5.2.5. The Server SQL Mode
11.1.4. Data Type Default Values

คำสำคัญ (Tags): #database#php#it#opensource#mysql
หมายเลขบันทึก: 31856เขียนเมื่อ 30 พฤษภาคม 2006 09:53 น. ()แก้ไขเมื่อ 8 มิถุนายน 2012 17:04 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (3)

INSERT INTO member(ID,name) VALUES("10,Patrickz")

แน่ใจน่ะพี่ว่าคำสั่งนี้ทำง่านได้

น่าจะ

INSERT INTO member(ID,name) VALUES('10','Patrickz')

น่ะคับ

แว๊บบบบบ

จริงด้วย พิมพ์ผิด

แต่ INSERT INTO member(ID,name) VALUES('10','Patrickz') ก็ยังไม่ใช่ ต้องเป็น

INSERT INTO member(ID,name) VALUES(

10,'Patrickz')

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท