繁体   English   中英

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

[英]MySQL trigger to drop and create table upon insert (through mysqlimport)

我每隔5分钟用mysqlimport (批处理文件)记录mysqlimport到一个特定的表中,以使该表在我的网站上成为在线访客。

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

我想知道是否有更好的方法,不是从我的批处理文件发送mysqlimport命令,并在插入此特定DB时在数据库上触发触发器,以删除它并在插入新记录之前重新创建它,以避免出现间隙(否记录)当前发生在删除表,重新创建表并填充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的帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM