私は MySQL を初めて使用し、SQL ステートメントの変換に問題があり、可能であれば助けを求めています。
最後に、最終ログイン日に基づいて 1 つのテーブルからアイテムを削除できるようにする必要があります。残念ながら、テーブルの設計を制御できず (これには欠陥があります)、characterID を characterUID および LastLogin 日付と比較する必要があります。 charcaterID (一意ではない) によってのみオブジェクトを追跡する別のテーブルからアイテムを削除します。
これが私がこれまでに持っているものです
DELETE FROM object_data WHERE CharacterID IN (
SELECT CharacterID FROM object_data
WHERE CharacterID IN (
SELECT CharacterID FROM character_data
WHERE LastLogin < DATE_SUB(NOW(), INTERVAL 30 DAY)
AND PlayerUID NOT IN (
SELECT PlayerUID FROM character_data
WHERE LastLogin > DATE_SUB(NOW(), INTERVAL 30 DAY))))
表示されるエラーは 1093 です。FROM 句で update からターゲット テーブル 'object_date' を指定することはできません。
何か案は?