#Fix #SQL show error SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘255’ for key ‘PRIMARY’

Bug เล็กๆ ที่เกิดจากความประมาท โดยระบบตัวนี้จะมี id ที่เป็น PK ตั้งให้ auto increment แต่เนื่องจากไปตั้ง field type เป็นแบบ tinyint ไว้ มันรองรับแค่ 255 เท่านั้น พอมีรายการที่ 256 เข้ามามันเลยเพิ่มเข้าไม่ได้ แล้วแจ้งบอก Dupicate entry ที่เลข 255 มีการใช้ซ้ำแล้ว โดยปกติถ้าไม่ได้ตั้ง Auto Increment ไว้ เราก็แค่เปลี่ยน ID ไปเป็นเลขอื่น แต่ในตัวอย่างนี้ คือไปขยาย field type ให้มีขนาดใหญ่ขึ้น โดยตั้งเป็น int เลยก็ได้ เปิด unsigned เพราะไม่มีเลขติดลบ อ้างอิง int, bigint, smallint, and tinyint (Transact-SQL) Data type …

#SQL Using the OSQL Command Line Tool to Perform SQL Server Operations

ทดลองใช้ SQL ผ่าน Command line เพื่อทำ Task Backup/Restore ฉบับคนขี้เกียจรอ เริ่มแรกได้ข้อมูลจากที่เคยอ่านผ่านๆ ในบล๊อกต่างประเทศ ก็ไม่ได้สนใจอะไร จนมีพี่คนหนึ่งในกลุ่มนักวิชาการคอมพิวเตอร์ เขาได้จุดประกายให้ศึกษาการใช้ CLI อีกครั้ง เพราะเขาเองก็ใช้แบบนี้เหมือนกัน คือ เขียน Batch file เพื่อให้มันทำงานตามเวลาที่กำหนดไว้ (ซึ่งการทำงานของ Batch ทั้งหมดผมขอผ่านไป ของผมมีการเรียก vbs เพื่อทำ logs ด้วย) จะแนะนำในส่วนของ OSQL หรือบางคนใช้ SQLCMD ก็ได้เหมือนกัน code ด้านบนก่อนหน้านี้ทดลองอยู่หลายวิธี ก็ run ไม่ได้ ลองใส่ -P -S -U ทุกวิธีแล้ว ก็ไม่ผ่าน เกิด error ว่า ทดลองคำสั่ง restore ด้วยไฟล์ที่อยู่บนเครื่องตัวเอง – สามารถใช้งานได้ แสดงว่า …