搜索到一个博主的操作,但是需要主键,我表中虽然设置了id为主键但是是自动递增的,所以插入的时候就写null,这样的话,怎么去使用这个语句?
1条回答 默认 最新
- kevin_linshaojie 2021-02-11 01:09关注
mysql> show create table users \G; *************************** 1. row *************************** Table: users Create Table: CREATE TABLE `users` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(10) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `uniq_idx1` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci 1 row in set (0.00 sec) ERROR: No query specified mysql> insert into users (name) values('zhangsan'); Query OK, 1 row affected (0.02 sec) mysql> insert into users (name) values('lisi'); Query OK, 1 row affected (0.01 sec) mysql> select * from users; +----+----------+ | id | name | +----+----------+ | 2 | lisi | | 1 | zhangsan | +----+----------+ 2 rows in set (0.00 sec) mysql> insert into users (name) values('zhangsan') on duplicate key update name='wangwu'; Query OK, 2 rows affected (0.01 sec) mysql> select * from users; +----+--------+ | id | name | +----+--------+ | 2 | lisi | | 1 | wangwu | +----+--------+ 2 rows in set (0.00 sec) mysql>
自增列在进行insert时,不需要在字段中列出: insert into 表名(字段1,字段2,这里不要列出自增列) values(...这里的值与前面的字段一一对应即可)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报