0

これが問題です。私のクエリ:

UPDATE `table` SET `column` = replace(`column`,'123','456');

うまくいきません。理由は次のとおりです。

数値文字列 '4123' は '4456' になります。

私が望むのは、完全に一致するもの (列の値が正確に「123」に等しい) のみを置き換えることです。これは単純な UPDATE SET = REPLACE() クエリでは不可能ですか??

4

2 に答える 2

8

これを行う必要はないようですREPLACE

UPDATE yourTable SET yourColumn = '456' WHERE yourColumn = '123';
于 2013-05-26T01:13:19.753 に答える
4

Paul が言うように、適切な句REPLACE()を追加するだけで、呼び出しは必要ありません。WHERE

とはいえ、これが他の列も更新するより大きなクエリの一部である場合は、これを試してください。
SET `column`=IF(`column`=123, 456, `column`)

これは、条件を満たしている場合にのみ、その列に新しい値を与えます。

于 2013-05-26T01:15:46.257 に答える