mysql如何设置自增主键
时间: 2023-07-07 13:14:38 浏览: 172
在 MySQL 中,可以通过 `AUTO_INCREMENT` 属性来设置自增主键。
创建一张表时,可以在定义主键的列上添加 `AUTO_INCREMENT` 属性,如下所示:
```sql
CREATE TABLE example (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
```
上面的示例中,定义了一个名为 `example` 的表,其中 `id` 列被指定为主键,并且添加了 `AUTO_INCREMENT` 属性。这意味着每次插入新的记录时,`id` 列的值都会自动递增。
注意,使用 `AUTO_INCREMENT` 属性的列必须要是整数类型,如 `INT`、`BIGINT` 等。
相关问题
mysql不用自增主键
当使用MySQL时,不使用自增主键是完全可以的。你可以在建表SQL语句中去掉AUTO_INCREMENT关键字,比如:
CREATE TABLE `user` (
`id` int NOT NULL COMMENT '主键',
`name` char(10) NOT NULL DEFAULT '' COMMENT '名字',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
这样创建的表会成功建立,但是MySQL内部会偷偷地为你添加一个名为ROW_ID的隐藏列作为主键。所以你仍然可以插入数据,并且需要自己设置主键的值。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [数据库主键一定要自增吗?有哪些场景不建议自增?](https://blog.csdn.net/CRMEB/article/details/125393423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
mysql 按自增主键倒排
可以使用ORDER BY子句按照自增主键倒排。假设自增主键列名为id,可以这样写:
```
SELECT * FROM table_name ORDER BY id DESC;
```
其中,DESC表示按照降序排列,即从大到小排序。如果要按照升序排列,可以使用ASC,即:
```
SELECT * FROM table_name ORDER BY id ASC;
```
阅读全文