Diedit untuk kejelasan
Menurut Spesifikasi SQL, kunci utama tidak boleh berisi NULL. Ini berarti mendekorasi kolom dengan "NOT NULL PRIMARY KEY" atau hanya "PRIMARY KEY" harus melakukan hal yang sama. Tetapi Anda mengandalkan mesin SQL yang bersangkutan dengan benar mengikuti standar SQL. Sebagai contoh karena bug awal, SQL Lite tidak menerapkan standar dengan benar dan mengizinkan nilai nol dalam kunci utama non-integer (lihat sqlite.org/lang_createtable.html). Itu berarti untuk (setidaknya) SQLLite, dua pernyataan melakukan dua hal yang berbeda.
Karena "NOT NULL PRIMARY KEY" dengan jelas menunjukkan maksud dan terus menerapkan nilai non-null bahkan jika kunci utama dihapus, itu harus menjadi sintaks yang disukai.