mysql - 将限制选择和删除语句中的条件相同的工作

标签 mysql sql

我必须从表中挑选未使用的项目,将这些具有其他信息的项目移动到已使用的表中,该表将被称为useditems。当项目最终移动时,我必须从未使用的表中删除这些项目。

所以我写下了以下查询。

INSERT INTO USED select KNumber from unused limit 1000;
DELETE FROM unused limit 1000;

我唯一关心的一点是,它总是选择相同的记录,因为我在查询中没有使用任何顺序,并且在表中我只有单列。所以只有插入的记录才会被删除。

我是 mysql 新手。

最佳答案

而是使用 order by 子句和 limit 子句来确保在没有 order by 的情况下相同的记录选择和限制没有多大意义,因为只有 limit您最终可能会插入/删除不同的设置数据,而您的目标是删除正在插入的同一组数据。

INSERT INTO USED select KNumber from unused order by KNumber limit 1000;

DELETE FROM unused order by KNumber limit 1000;

关于mysql - 将限制选择和删除语句中的条件相同的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24354872/

相关文章:

mysql - MySQL 存储过程的多态替代方案

php - 获取数据库中的日期时间并将其显示在 Dreamweaver 中的 3 个单独字段中 [年、月、日]

mysql - 显示来自不同连接的相同 SQL 属性

sql - Postgres 从连接计算列

java - 在 Java 中插入 SQL

mysql - R 并通过 JDBC 连接到 MySQL

php - 如何使用 codeigniter 将数据与 MySql 中的现有数据进行 CONCAT?

php - 如何在 REGEXP 中使用多个关键字?

c# - 如何将 CLOB 字段读入 C# 变量?

php - 复杂查询组合