UPDATEプロファイルSETを動作していない= CONCAT(favourties、 "123")favourtiesのデフォルト値に設定された場合は、id = 1MYSQL、連結方式 favourties
iはfavourtiesに123を追加したいが、 NULLの場合、このクエリは機能しません。 favourtiesをNULL、その後COALESCE
機能をまわり、それ
UPDATEプロファイルSETを動作していない= CONCAT(favourties、 "123")favourtiesのデフォルト値に設定された場合は、id = 1MYSQL、連結方式 favourties
iはfavourtiesに123を追加したいが、 NULLの場合、このクエリは機能しません。 favourtiesをNULL、その後COALESCE
機能をまわり、それ
UPDATE profile SET favourties=CONCAT(IFNULL(favourties, ''),"123") WHERE id=1
ラップでフィールドを123を付加するように設定されている場合、クエリがどうなるか:
UPDATE profile
SET favourties = CONCAT(COALESCE(favourties, ''),"123")
WHERE id=1
おそらく、NULLに何かを連結することはできません。おそらく3210を使用できますか?
UPDATE profile SET favourties=CONCAT(COALESCE(favourites,""),"123") WHERE id=1
参照:http://dev.mysql.com/doc/refman/5.0/en/comparison-operators.html#function_coalesce
あなたは@zerkmsようifnull
を使用することができます氏は述べていますが、それはSQL標準ではありません。しかし、それはより速く小さなおとぎ話です。このリンクでそれをよく読んで:http://sqlblog.com/blogs/adam_machanic/archive/2006/07/12/performance-isnull-vs-coalesce.aspx
また、あなたが期待するようにNULLを扱うCONCAT_WS()
(docs)を使用することができます。空の文字列に変換します:私は個人的に実際にのみ使用
UPDATE profile SET favourties = CONCAT_WS('', favourties, "123") WHERE id = 1;
CONCAT_WS()
今はNULLを心配する必要があるので、私を悩ます。私はほとんどNULLを使用しないので、私はそれを心配する必要はありませんが、ただ入れてください。空の文字列で終わってしまう理由を理解するのが難しいと思うのは迷惑なことです。 PHPで
、私が使用します。
SET `trans`=concat('$var', trans)
trans
列にすでに文字列に追加します。 group
という名前のカラムでは、角括弧の内側にgroup
のマークを付けずには動作しませんでしたが、transではバックティックは必要ありませんでした。