MySQL触发器在插入时删除和创建表(通过mysqlimport)

标签 mysql csv sql-insert mysqlimport database-trigger

我每 5 分钟使用 mysqlimport(批处理文件)将记录导入到特定表中,以便在我的网站上获得此表的在线访客。

我目前将在 Windows 批处理文件上执行的 2 个 .sql 发送到远程数据库:1 个用于删除和创建表的 SQL 命令,然后使用 mysqlimport 发送第二个 SQL 命令使用 CSV 填充表。

我想知道是否有更好的方法不是从我的批处理文件发送 mysqlimport 命令,并在插入此特定数据库时在数据库上触发触发器以删除它并在插入新数据库之前重新创建它记录,以避免当前在删除表、重新创建表和填充 CSV 之间发生的间隙(无记录),这种情况经常发生。

知道如何实现这样的触发器吗?

online_players 表的结构:

+-------------------+--------------+------+-----+---------+-------+
| Agent             | varchar(255) | YES  |     | NULL    |       |
| Name              | varchar(255) | YES  |     | NULL    |       |
| Alias             | varchar(255) | YES  |     | NULL    |       |
| Begin_Date        | varchar(100) | YES  |     | NULL    |       |
| LastBalanceUpdate | varchar(100) | YES  |     | NULL    |       |
| Session_minutes   | varchar(100) | YES  |     | NULL    |       |
| Balance           | varchar(100) | YES  |     | NULL    |       |
| Product           | varchar(100) | YES  |     | NULL    |       |
+-------------------+--------------+------+-----+---------+-------+

最佳答案

我通过使用 mysqlimport 中的 -d 参数解决了每次插入之前删除/创建表的问题,该参数会在导入 csv 之前删除所有行。感谢 vmachan 的帮助!

关于MySQL触发器在插入时删除和创建表(通过mysqlimport),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36387713/

相关文章:

mysql - 什么时候把付款放在他们自己的 SQL 表中?

mysql - 如何一次只更新几行? (多表语法)

MYSQL SELECT DISTINCT 值来自和列及其对应的值来自另一个

python - 在 Python 中处理大型 csv 文件

java - 从java格式化csv列

python-2.7 - 有没有可以将 EDI X12 格式转换为 CSV 的 python 包?

mysql - 如何创建Sql Job来创建数据库备份和维护计划?

php - 插入MySQL "on duplicate key update"语法错误

sql-server-2008 - 如何在插入时获取下一个ID?

mysql - 如何将 INSERT INTO SELECT ON DUPLICATE KEY UPDATE 与 IF 语句一起使用