处理多个MySql查询(删除和复制)
早上好。 我有一个关于MySQL数据库的表。 在这个表中有5个机器人,每小时能写10条记录。 每隔3个月,我创建一个脚本,复制一个表,然后删除所有表条目(这样我可以按一定顺序保留ID) 我的问题是。 这是两种不同的说法:处理多个MySql查询(删除和复制),mysql,sql,Mysql,Sql,早上好。 我有一个关于MySQL数据库的表。 在这个表中有5个机器人,每小时能写10条记录。 每隔3个月,我创建一个脚本,复制一个表,然后删除所有表条目(这样我可以按一定顺序保留ID) 我的问题是。 这是两种不同的说法: CREATE TABLE omologationResult_{date} AS SELECT * FROM omologationResult DELETE FROM omologationResult 如果脚本要在点0复制表,并且将从robots添加一条记录,那么没有问题
CREATE TABLE omologationResult_{date} AS SELECT * FROM omologationResult
DELETE FROM omologationResult
如果脚本要在点0复制表,并且将从robots添加一条记录,那么没有问题,因为SQL语句从最低ID开始,一直到最后。但是如果脚本要删除表,并且机器人正在其中写入。会发生什么?我丢了最后一张机器人唱片
如果这是真的。如何创建表的副本,然后仅删除已复制的数据
谢谢是的,这不是一个安全的操作,因为它不是原子操作。另一个线程很有可能在创建之间向该表中插入值。。选择并删除。您可以选择使用多表
将确保仅从OMLogationResult中删除两个表中存在的项目非常感谢!很高兴能帮上忙
CREATE TABLE omologationResult_{date} AS SELECT * FROM omologationResult;
DELETE omologationResult FROM omologationResult
INNER JOIN omologationResult_{date} ON omologationResult_{date}.id = omologationResult.id