Trong sqlite3 faq, nó được đề cập rằng một khóa nguyên nguyên đang được nạp một giá trị null sẽ tự động. Nhưng điều này không xảy ra với tôi.Không có autoincrement cho khóa chính Integer trong sqlite3
để tái tạo, một bảng trong sqlite3, CREATE TABLE dummy(serial_num INTEGER PRIMARY KEY, name TEXT);
và điền nó sử dụng python,
import sqlite3 as lite
con = lite.connect('some.db')
cur=con.cursor()
data = "someone's name"
cur.execute("INSERT INTO dummy VALUES(NULL, ?)", data)
con.commit()
Các serial_num thuộc tính đầu tiên đang được hiển thị trống trong khi các thuộc tính tên là tốt. Khi tôi làm SELECT serial_num FROM dummy
Tôi chỉ nhận được một loạt các khoảng trống. Tôi đang làm gì sai?
Tôi phải thêm, rằng tôi đã thử xác định lược đồ là '... serial_num INTEGER PRIMARY KEY NOT NULL ...' và nhận được lỗi 'sqlite3.IntegrityError: dummy.serial_no có thể không là NULL' – yayu