MySQLデータベースの同じ行に2つのクエリ(たとえば、更新文と削除文)が影響するかどうかをチェックする必要があります。2つのクエリが同じ行に影響するかどうかを比較するにはどうすればよいですか?
私が選択したクエリの影響を受けた項目を選択することについて考えと同じ行が両方のクエリーに表示されているかどうかを確認:実際には
UPDATE Foo SET col = 'a' WHERE id > 5;
DELETE FROM Foo WHERE col = 'b';
SELECT (SELECT * FROM Foo WHERE col = 'b') IN (SELECT * FROM Foo WHERE id > 5);
それは私の簡単なFoo
テーブルのために働いたが、別のテーブルに失敗しましたいくつかの列で - 2つのサブ選択が正確に同じ場所を選択した場合でも。また、このソリューションでは、最初のサブ選択には1つの結果しか含めることができません。
上記の選択が別のテーブルで失敗する可能性がある別のソリューションまたは理由を知っている人はいますか?
'IN(...)句に副選択を使用すると、副選択は値の単一の列のみを戻す必要があります。 SQLは、複数の列が戻されたときに、IN項目に対して比較したいWHICH項目を認識しません。 –