1
UPDATE mytable SET this = 'this' AND that = 'that'
WHERE MATCH (items) AGAINST ('item5')

問題は、このクエリがUPDATE一致した最初の行を更新するという望ましい結果ではなく、見つかったすべての一致に対して実行されることです。

クエリに追加LIMIT 0, 1すると、MySQL 構文エラーが発生します。全文クエリを使用して見つかった最初のレコードでこの更新を行う方法はありますか?

4

1 に答える 1

3

のドキュメントにupdateよると、次を使用できます。

[LIMIT row_count]

そして、あなたがしたように:

LIMIT 0, 1


したがって、あなたの場合、クエリは次のようになります。

UPDATE mytable SET this = 'this' AND that = 'that'
WHERE MATCH (items) AGAINST ('item5')
LIMIT 1
于 2012-05-20T09:25:00.347 に答える