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 会自动选择表中的第一个非空列作为隐式主键。
