CREATE TABLE table_name ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, column1 datatype, column2 datatype, … );

MySQL自增(AUTO_INCREMENT)是一种在插入数据时自动为字段分配递增值的功能,它可以确保每个记录都有一个唯一的ID,方便进行查询和排序。

创建表时设置自增字段

1、使用CREATE TABLE语句创建表时,可以为某个字段设置AUTO_INCREMENT属性。

mysql自增主键建表语句mysql自增主键建表语句

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL
);

2、使用ALTER TABLE语句为已存在的表添加自增字段。

ALTER TABLE users
ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY;

插入数据时自动递增

1、当向表中插入数据时,如果没有为自增字段指定值,MySQL会自动为其分配一个递增的值。

mysql自增主键建表语句mysql自增主键建表语句

INSERT INTO users (username, password) VALUES ('张三', '123456');
INSERT INTO users (username, password) VALUES ('李四', 'abcdef');

2、如果为自增字段指定了值,MySQL会忽略该值,仍然按照递增顺序分配。

INSERT INTO users (id, username, password) VALUES (1, '王五', 'uvwxyz');
INSERT INTO users (id, username, password) VALUES (NULL, '赵六', 'mnopqr');

查看自增值

可以使用LAST_INSERT_ID()函数查看刚刚插入的记录的自增值。

mysql自增主键建表语句mysql自增主键建表语句

SELECT LAST_INSERT_ID(); 返回刚刚插入的记录的自增值

重置自增值

如果需要重置自增值,可以使用ALTER TABLE语句将自增值设置为新的起始值,注意,这将影响所有已有记录的自增值。

ALTER TABLE users AUTO_INCREMENT = 100; 将自增值重置为100
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。