Đã chỉnh sửa cho rõ ràng
Theo Đặc tả SQL, khóa chính không được chứa NULL. Điều này có nghĩa là việc trang trí một cột bằng "KHÔNG ĐẦY ĐỦ KHÓA CHÍNH" hoặc chỉ "KHÓA CHÍNH" sẽ làm điều tương tự. Nhưng bạn đang dựa vào công cụ SQL được đề cập một cách chính xác theo tiêu chuẩn SQL. Ví dụ do lỗi ban đầu, SQL Lite không triển khai đúng tiêu chuẩn và cho phép giá trị rỗng trong khóa chính không phải số nguyên (xem sqlite.org/lang_createtable.html). Điều đó có nghĩa là đối với SQLLite (ít nhất), hai câu lệnh thực hiện hai việc khác nhau.
Vì "KEY CHÍNH KHÔNG ĐẦY ĐỦ" chỉ rõ ý định và tiếp tục đặt trước các giá trị không rỗng ngay cả khi khóa chính bị xóa, đó phải là cú pháp được ưu tiên.