私は次のクエリを持っています:
select count(L.ID)
from LA inner join L on (LA.leadid = L.ID)
where L.status = 5
and L.city = "cityname"
and Date(LA.Datetime) < Date_Sub(Now(), INTERVAL 6 MONTH);
これは、6か月(LAに保存されている日付)より古い特定の都市のステータス5のレコードを検索します。これにより、約4kの結果が返されます。これらの各レコードのステータスの値を1に更新したいので、更新は次のようになります。
update L, LA
set L.status = 1
where L.status = 5
and L.city = "cityname"
and Date(LA.SomeDatetime) < Date_Sub(Now(), INTERVAL 6 MONTH);
しかし、それは失速し、データベースをロックします。結合がないため問題があると思いますが、次のように試します。
update L, LA
from L inner join LA on (L.OID = LA.leadid)
set L.status = 1
where L.status = 5
and L.syscity = "cityname"
and Date(LA.SomeDatetime) < Date_Sub(Now(), INTERVAL 6 MONTH);
更新には「from」がないため、明らかに機能しません。
編集>MySQLを使用しています