业务场景介绍
公司的视频/专辑信息要批量更新,更新的逻辑是:定时读取消息表中的数据,更新完数据就删除表中数据;所以只需要批量向消息表写消息就可以实现刷新。
利用navicat导入.csv文件
- 新建立一张临时表,与csv文件中列名对应并指定主键(关于主键:选中一个字段, 在列中找到“键”的一列,点击选中即可,同时下面会显示——是否自动递增等选项)
- 在navicat中新建的表上右键:点击“导入向导” ——>选择“CSV文件”——>点击“继续”——点击“添加文件”,选择你要导入的csv文件即可(其他都默认)
- 再导入过程会产生日志,要打开日志观察导入过程,如果出现错,及时停止并修改错误。
利用INSERT INTO SELECT语句批量刷新数据到消息表中
INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。
- 可以从一个表中复制所有的列插入到另一个已存在的表中:
INSERT INTO table2 SELECT * FROM table1;
- 可以只复制希望的列插入到另一个已存在的表中:
INSERT INTO table2 (column_name(s)) SELECT column_name(s) FROM table1;
- 也可以像我业务上一样,添加默认🈯️复制表数据(如果不按顺序,可以使用as关键字):
INSERT INTO iptv.AUDIT_MGTV_MMS_CHANGE_MSG SELECT UUID(), vid, 175123026, 105, 0, 1, 0, ‘admin’ FROM iptv.AUDIT_MGTV_VID_PID_TMP;