mysql - 带有更新文件的 MySQL LOAD DATA
问题描述
解决方案
根据问题编辑和评论更新。
由于id
表中的字段是auto_increment,它提供了一个不断增加的值。在上传新文件之前获取该字段的最大值,id
并使用它来限制您只删除较新的记录:
SET @OLDMAXID = IFNULL((SELECT MAX(id) FROM download1), 0);
LOAD DATA INFILE 'C:/users/user/desktop/download.txt' IGNORE INTO TABLE download1
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\r\n'
IGNORE 3 LINES;
DELETE FROM download1 WHERE date_time < (SELECT * FROM (SELECT MAX(date_time) AS MaxDatetime FROM download1) AS t) and id > @OLDMAXID;
推荐阅读
- css - 如何更改 mat-table 中行的高度
- python - 验证输入值但无法尝试 & 除了其他输入
- mysql - MySQL:根据列中阿拉伯字符的形状从表中选择
- java - Java:如何对txt文件进行排序?
- python - 检查公共 IP 地址组织的 Pythonic/有效方法
- ios - 从 iPhone 网页添加在应用商店中打开的链接
- sql - 使用 SQL 查询对计数进行排名
- animation - ECharts 仅禁用符号(标记)动画
- javascript - 使用 JavaScript 的图像幻灯片
- ruby-on-rails - Rails HABTM ActiveRecord::RecordNotFound 在更新操作中