MySql insert插入操作的3个小技巧分享
1.插入的数据来源自其他表
表A有id, cola 字段
表B有id, cola, colb...等字段,其中id都为主键,cola为相同名字的列
现想将表B中colb>1000的记录都插入表A中,SQL语句可以这样写:
insert into A(id,cola) select id,cola from B where colb>1000
2.插入时排除(忽略)重复记录
现表A中有一部分记录了,再做如1中的插入操作可能遇到重复的key导致操作失败
insert ignore into A(id,cola) select id,cola from B where colb>1000
使用insert ignore into插入时,会忽略掉表中已经存在的记录
3.插入时遇到重复记录做更新操作
还有一个表C,与表B的结构类似,现需将表C中的数据插入A中,当遇到重复的记录时,更新cola这一列为表C中的值
insert into A(id,cola) select id,cola from C on duplicate key update A.cola=C.cola
相关文章
用MyEclipse配置DataBase Explorer(图示)
本文介绍了,用MyEclipse配置DataBase Explorer的图片示例。需要的朋友参考下2013-04-04解决mysql.server start执行报错ERROR!The server quit without u
这篇文章主要介绍了解决mysql.server start执行报错ERROR!The server quit without updating PID file问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-09-09MySQL权限USAGE和ALL PRIVILEGES的用法
本文主要介绍了MySQL权限USAGE和ALL PRIVILEGES的用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-09-09Mysql连接无效(invalid connection)问题及解决
这篇文章主要介绍了Mysql连接无效(invalid connection)问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-02-02mysql8.0 lower_case_table_names 大小写敏感设置问题解决
在默认情况下,这个变量是设置为0的,以保持向前兼容性,如果将该变量设置为1,则表名和数据库名将被区分大小写,本文主要介绍了mysql8.0 lower_case_table_names 大小写敏感设置问题解决,感兴趣的可以了解一下2023-09-09
最新评论