mysql 在insert时防止出现主键冲突错误的方法
在mysql中插入数据的时候常常因为主键存在而冲突报错,下面有两个解决方法:
1、在insert 语句中添加ignore 关键字,如:insert ignore into table (id,name) values ('1','username');这是如果id主键已经存在的时候,就会忽略现在数据而保留原来的数据不变;
例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | MySQL [tmp_database]> select * from student; +----+------+ | id | Name | +----+------+ | 1 | rcp | +----+------+ 1 row in set (0.00 sec) MySQL [tmp_database]> insert ignore into student Value(1, 'kk' ); MySQL [tmp_database]> select * from student; +----+------+ | id | Name | +----+------+ | 1 | rcp | +----+------+ 1 row in set (0.00 sec) |
2、插入的时候用REPLACE INTO语句,如 REPLACE INTO table(id,name) values ('1','username');这个方法是如果id主键存在的时候就覆盖掉原来的数据。
1 2 3 4 5 6 7 8 9 10 | MySQL [tmp_database]> REPLACE into student Value(1, 'lisi' ); Query OK, 2 rows affected (0.00 sec) MySQL [tmp_database]> select * from student; +----+------+ | id | Name | +----+------+ | 1 | lisi | +----+------+ 1 row in set (0.00 sec) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)