偷藏星光赠你 2021-02-10 06:15 采纳率: 40%
浏览 37
已采纳

mysql数据有更新,无插入

搜索到一个博主的操作,但是需要主键,我表中虽然设置了id为主键但是是自动递增的,所以插入的时候就写null,这样的话,怎么去使用这个语句?

连接地址:mysql SQL数据更新(有时更新,没有时插入)_隔山看海-CSDN博客_mysql 更新插入

  • 写回答

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(...这里的值与前面的字段一一对应即可)

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部