以下查询将错误抛出为
无法重新开启表格
DELETE FROM _temptable
WHERE RowNo >
(
SELECT * FROM
(
SELECT MIN(RowNo)
FROM _temptable
WHERE Status= 'Deleted'
) X
);
答案 0 :(得分:0)
您不能在同一查询中多次引用临时表。
从这里提取:http://dev.mysql.com/doc/refman/5.0/en/temporary-table-problems.html
答案 1 :(得分:0)
如果您没有使用临时表,则会收到错误1093。 Mysql 5.0 Subquery Errors上的人暗示您必须将其分解为两个陈述,例如:
SET @minRowNo = (SELECT MIN(RowNo) FROM _temptable WHERE Status = 'Deleted');
DELETE FROM _temptable WHERE RowNo > @minRowNo;
虽然我确实想知道你要做的是删除高于第一行删除的所有行,但删除的行保持不变......