GotoKnow
  • เข้าระบบ
  • สมัครสมาชิก
  • แผงจัดการ
  • ออกจากระบบ
GotoKnow

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

บันทึกนี้เขียนที่ GotoKnow โดย 

คำสำคัญ (keywords): opensourceitmysqlphpdatabase
หมายเลขบันทึก: 31856
เขียน:
แก้ไข:
ความเห็น: 2
อ่าน:
สัญญาอนุญาต: สงวนสิทธิ์ทุกประการ

ความเห็น (2)

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')