หน้าเว็บ

วันพุธที่ 17 กันยายน พ.ศ. 2551

#1366 - Incorrect integer value: '' for column 'id' at row 1 โดยเป็น auto_increment

ผมใช้ MySQL แล้วมีการสร้าง table ซึ่งมี field ที่เป็น id ที่เป็น auto_increment

แต่พอสั่งคำสั่งเพื่อ insert record เข้าไป โดยค่าของ id ผมให้เป็น '' (single quote สองอัน) ที่เป็นค่าว่าง
ปรากฎว่ามันไม่ยอมให้ใส่ และฟ้องว่า

#1366 - Incorrect integer value: '' for column 'id' at row 1

โดยสาเหตุเกิดจากการตั้งค่า mode ของ sql ให้เป็น STRICT_TRANS_TABLES (ซึ่งจริงๆแล้วเป็นค่า default ที่ตั้งมาไว้ตั้งแต่ตอนแรก)

วิธีแก้
วิธีแรก: ให้ใส่เป็น NULL แทนที่จะเป็น ''
วิธีที่สอง: ให้ใช้คำสั่ง INSERT IGNORE แทน INSERT เฉยๆ และสามารถใส่ค่าเป็น '' เฉยๆได้
วิธีที่สาม: ยกเลิก STRICT_TRANS_TABLE โดยแก้ที่ไฟล์ my.ini (windows) หรือ my.cnf (linux) ตรง sql-mode ให้ลบ STRICT_TRANS_TABLE ออก

ระบบที่ทดสอบ
MySQL: 5.0.51b
Apache: 2.2
OS: Windows XP SP2

วันอาทิตย์ที่ 14 กันยายน พ.ศ. 2551

ปัญหา data for speech recognition was lost ใน MS Word 2003

หลายครั้งที่ทำงานใน MS Word แล้วเกิดปัญหาเล็กน้อยเวลา save งาน จะมีคำเตือนที่ค่อนข้างน่าหงุดหงิดขึ้นมาทุกครั้งว่า

"The document was saved, but data for speech recognition was lost because there was not enough space to store it. Be sure to turn off the microphone when you are not recording, and check the available storage space on the disk."

วิธีแก้ก็ให้ไปที่
Tools > Options > Save > เอาเครื่องหมายถูกออกจาก 'Embed linguistic data'
เป็นอันเรียบร้อย

โปรแกรมที่ใช้

MS Word 2003

วันพฤหัสบดีที่ 11 กันยายน พ.ศ. 2551

Virtual Keyboard

เจอ Fwd เมล์นึงบอกว่า ถ้าคีย์บอร์ดบางปุ่มเสีย เช่น ตัว ส. เสือ ทำให้กดไม่ได้ ให้แก้ด้วยการไปที่ Windows->Run แล้วพิมพ์ osk แล้ว enter จะมี On-Screen Keyboard ออกมาให้ใช้ได้

แต่คราวนี้ถ้าเกิดว่าไม่มีคีย์บอร์ด หรือคีย์บอร์ดไม่ทำงานเลยล่ะ ก็พิมพ์ osk ไม่ได้แล้ว

ก็เลยลองไปค้นดูใน Accessibility ก็พบว่าเจ้า osk มันอยู่ในนี้นี่เอง
Windows->All Programs->Accessories->Accessibility->On-Screen Keyboard
ก็จะมี Virtual Keyboard ออกมาให้ใช้ mouse คลิ๊กได้ล่ะ

ระบบที่ใช้งาน
OS: Windows XP SP2