Tags:
Node Thumbnail

โครงการฐานข้อมูลแบบฝังตัวในซอฟต์แวร์ SQLite ออกเวอร์ชั่น 3.37.0 ที่แม้จะเป็นอัพเดตย่อยแต่มีฟีเจอร์สำคัญเพิ่มเข้ามาคือการรองรับตารางแบบ STRICT ที่ทำให้ผู้สร้างตารางกำหนดชนิดข้อมูลได้จริงๆ

พฤติกรรมของ SQLite ก่อนหน้านี้แม้คอลัมน์ในฐานข้อมูลจะกำหนดชนิดข้อมูลเอาไว้ แต่ตัว SQLite จะไม่ได้บังคับจริงๆ หากชนิดข้อมูลที่ใส่เข้ามาไม่ตรงกันก็จะพยายามแปลงข้อมูลให้ เช่น หากคอลัมน์เป็นเลขจำนวนเต็ม (INT) แต่ใส่ข้อความ "123" ก็จะพยายามแปลงเป็นตัวเลข 123 ให้เอง แม้จะสะดวก แต่เมื่อใส่ข้อมูลที่แปลงเป็นตัวเลขไม่ได้ เช่น "xyz" ตัว SQLite ก็จะยอมใส่ข้อมูลเป็นสตริงลงไปในคอลัมน์แม้จะกำหนดชนิดข้อมูลเป็นตัวเลขก็ตาม

ตารางแบบ STRICT ทำให้นักพัฒนาแน่ใจได้ว่าคอลัมน์ที่กำลังใช้งานมีข้อมูลชนิดเดียวกับที่กำหนดไว้จริงๆ อย่างไรก็ดีไฟล์ฐานข้อมูลที่สร้างโดยเวอร์ชั่น 3.37.0 และใช้ฟีเจอร์นี้จะไม่สามารถเปิดด้วย SQLite เวอร์ชั่นก่อนหน้านี้ได้อีกต่อไป หรือหากตั้งค่า PRAGMA writable_schema=ON ก็จะสามารถใช้งานได้โดยไม่มีฟีเจอร์ STRICT

นอกจากฟีเจอร์ STRICT ในเวอร์ชั่นนี้ยังมีฟีเจอร์ย่อยๆ อีกจำนวนหนึ่ง เช่นตัว CLI นั้นมีออปชั่น --safe สำหรับรับคำสั่งที่ไม่ยุ่งกับภายนอกตัวฐานข้อมูลเอง

ที่มา - SQLite

No Description

Get latest news from Blognone