2

2つのスクリプトがあります。1つは挿入用、もう1つは更新用です。

私の更新ボタンスクリプトは、挿入された最新のIDを使用しており、次のようになります。

Update tblsurvey
set WouldLikeToBeSeenOnSite = 'sadffas'
and DislikedOnSite = 'asdfsadfsadf'
and OtherNewsWebsitesRead = 'asdfsadfa'
and LikedOnOtherNewsSites = 'asdfsadfas'
and IPAddress = '172.16.0.123'
and DateAnswered = current_date()
where SurveyResponseId in (select max(SurveyResponseId) from tblsurvey);

どうやら、「where」句はエラーを生成します:

1093 - you cant specify target table 'tblsurvey' for update in FROM clause. 

更新している同じテーブルの最新の挿入IDを使用できる他の方法はありますか?

ありがとう。

4

2 に答える 2

3

一瞬待って。なぜANDを使用してSET句要素を区切るのですか?カンマで区切る必要があります。

于 2010-11-02T07:44:22.913 に答える
1

サブクエリFROM句と更新ターゲットの両方に同じテーブル(この場合はテーブルtblsurvey)を使用することはできません。

UPDATEおよび操作の更新/削除およびサブクエリに同じテーブルを使用することは違法DELETEです。

于 2010-11-02T07:42:54.477 に答える