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

Patrickz 2.0

 

น้องที่ทำงานเจอ 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

บันทึกนี้เขียนที่ GotoKnow โดย  ใน Patrickz - just a developer

คำสำคัญ (Tags)#opensource#it#mysql#php#database

หมายเลขบันทึก: 31856, เขียน: 30 May 2006 @ 09:53 (), แก้ไข: 08 Jun 2012 @ 17:04 (), สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ, ความเห็น: 2, อ่าน: คลิก


ความเห็น (2)

อ่าตู่
IP: xxx.151.232.70
เขียนเมื่อ 

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

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

น่าจะ

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

น่ะคับ

แว๊บบบบบ

Patrickz
IP: xxx.151.232.70
เขียนเมื่อ 

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

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

INSERT INTO member(ID,name) VALUES(

10,'Patrickz')