錯誤原因是主鍵重複錯誤,對於數據中有大量重複數據的列,比如ID名稱列,將這個列設置爲主鍵的同時也要設置自增長。
主鍵的作用:
1)保證數據的完整性;
2)約束行記錄的唯一性,主鍵可以用來表示一個精確定位的特定的行。
3) DBMS自動按主鍵值的順序顯示錶中的記錄,如果沒有定義主鍵,則按輸入記錄的順序顯示錶中的記錄。
主鍵的必要性:
在有些數據庫中,雖然主鍵不是必需的,但最好爲每個表都設置一個主鍵,不管是單主鍵還是複合主鍵。它存在代表着表結構的完整性,表的記錄必須得有唯一區分的字段,主鍵主要是用於其他表的外鍵關聯,以及本記錄的修改與刪除。
注意:
創建主鍵有以下兩種方式,但是想要創建複合主鍵就不能用第二種方式。
CREATE TABLE <表名>
(<列名1> <數據類型> <該列所需約束>,
<列名2> <數據類型> <該列所需約束>,
<列名3> <數據類型> <該列所需約束>,
......
PRIMARY KEY(列名))
CREATE TABLE <表名>
(<列名1> <數據類型> <該列所需約束> PRIMARY KEY,
<列名2> <數據類型> <該列所需約束>,
<列名3> <數據類型> <該列所需約束>,
......)
主鍵自增長設置:
- SQL設置自增長主鍵的語句:
- 使用navicat客戶端設置自增長: