如何在mysql中返回以下查询的已删除记录?
DELETE t1
FROM t1
LEFT JOIN t2 on (t1.t2_id = t2.id)
WHERE t2.id IS NULL OR t2.is_valid = false
背景:
$ mysql --version
mysql Ver 14.14 Distrib 5.6.23, for osx10.8 (x86_64) using EditLine wrapper
答案 0 :(得分:1)
MySQL没有等同于其他数据库提供的output
或returning
子句。你最好的选择是临时表:
CREATE TABLE TheDeletedIds as
SELECT t1.id
FROM t1 LEFT JOIN
t2
ON t1.t2_id = t2.id
WHERE t2.id IS NULL OR t2.is_valid = false;
DELETE t1
FROM t1
WHERE t1.id IN (SELECT id FROM TheDeletedIds);
然后您刚创建的表格中包含您想要的ID。
注意:使用新创建的表进行删除非常重要。否则,另一个线程/进程可能会在您捕获ID和删除它们之间更改数据。
答案 1 :(得分:0)
试
google.maps.event.trigger(map, "resize");