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

mysql数据有更新,无插入

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

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

  • 写回答

1条回答 默认 最新

  • kevin_linshaojie 2021-02-11 01:09
    关注
    1. mysql> show create table users \G;
    2. *************************** 1. row ***************************
    3. Table: users
    4. Create Table: CREATE TABLE `users` (
    5. `id` int NOT NULL AUTO_INCREMENT,
    6. `name` varchar(10) DEFAULT NULL,
    7. PRIMARY KEY (`id`),
    8. UNIQUE KEY `uniq_idx1` (`name`)
    9. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
    10. 1 row in set (0.00 sec)
    11. ERROR:
    12. No query specified
    13. mysql> insert into users (name) values('zhangsan');
    14. Query OK, 1 row affected (0.02 sec)
    15. mysql> insert into users (name) values('lisi');
    16. Query OK, 1 row affected (0.01 sec)
    17. mysql> select * from users;
    18. +----+----------+
    19. | id | name |
    20. +----+----------+
    21. | 2 | lisi |
    22. | 1 | zhangsan |
    23. +----+----------+
    24. 2 rows in set (0.00 sec)
    25. mysql> insert into users (name) values('zhangsan') on duplicate key update name='wangwu';
    26. Query OK, 2 rows affected (0.01 sec)
    27. mysql> select * from users;
    28. +----+--------+
    29. | id | name |
    30. +----+--------+
    31. | 2 | lisi |
    32. | 1 | wangwu |
    33. +----+--------+
    34. 2 rows in set (0.00 sec)
    35. mysql>

    自增列在进行insert时,不需要在字段中列出: insert into 表名(字段1,字段2,这里不要列出自增列) values(...这里的值与前面的字段一一对应即可)

    展开全部

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

报告相同问题?

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

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

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

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

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

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

客服 返回
顶部