mysql中的主鍵約束是一種唯一約束,用于明確定義表中每行的唯一標識符。可以通過使用primary key關鍵字或在創建表時指定來創建主鍵約束。主鍵可以是單列或復合列(由多個列組成),還支持自動遞增主鍵,會在插入新行時自動生成唯一值。主鍵約束確保了數據的完整性和準確性,因為每一行都具有唯一的值。
MySQL 中的主鍵約束
什么是主鍵約束?
主鍵約束是用于唯一標識表中每行的數據的一種唯一約束。它強制表中的每一行都具有唯一的值,從而確保數據的完整性和準確性。
如何創建主鍵約束?
在 MySQL 中,使用 PRIMARY KEY
關鍵字創建主鍵約束。語法如下:
<code class="sql">CREATE TABLE table_name ( column_name PRIMARY KEY );</code>
登錄后復制
或者,您可以在創建表時指定主鍵約束:
<code class="sql">CREATE TABLE table_name ( column_name1 INT NOT NULL, column_name2 VARCHAR(255) NOT NULL, PRIMARY KEY (column_name1, column_name2) );</code>
登錄后復制登錄后復制
復合主鍵
復合主鍵由兩個或多個列組成,它們共同形成表的唯一標識符。語法與單列主鍵類似:
<code class="sql">CREATE TABLE table_name ( column_name1 INT NOT NULL, column_name2 VARCHAR(255) NOT NULL, PRIMARY KEY (column_name1, column_name2) );</code>
登錄后復制登錄后復制
自動遞增主鍵
MySQL 支持自動遞增主鍵,它會在插入新行時自動為每個新行生成一個唯一值。要創建自動遞增主鍵,請使用 AUTO_INCREMENT
關鍵字:
<code class="sql">CREATE TABLE table_name ( id INT NOT NULL AUTO_INCREMENT, column_name1 VARCHAR(255) NOT NULL, PRIMARY KEY (id) );</code>
登錄后復制
注意事項
主鍵列必須具有唯一值。
主鍵列不能為 NULL
。
主鍵約束可以顯式或隱式創建。
如果沒有指定主鍵約束,MySQL 會自動選擇表中的第一個非空列作為隱式主鍵。