0
mysql> update articlestat set usr_id="someone@gmail.com" where articleid=11;
Query OK, 1 row affected (0.05 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> update articlestat set usr_id=usr_id+ ",some2@gmail.com" where artic
leid=11;
Query OK, 1 row affected, 1 warning (0.04 sec)
Rows matched: 1  Changed: 1  Warnings: 1

Warning (Code 1292): Truncated incorrect DOUBLE value: ',praveen2dj@gmail.com'

ここで立ち往生しています。必要なのは、両方のメール ID を同じフィールドに追加する方法だけです。

Field Type
usr_id varchar(1024)
4

3 に答える 3

1

MySQL はこのconcat()関数を連結に使用します。+純粋に算術加算です。

UPDATE articlestat 
SET usr_id = CONCAT(usr_id, ",some@gmail.com");

大まかに言えば、CSV データのように見えるものを 1 つのフィールドに保存することで、リレーショナル データの目的を本当に覆すつもりですか? ほとんどすべての標準的な使用例で、これはひどく悪いテーブル設計です。

于 2013-04-03T15:53:18.303 に答える
0

mysql で文字列を連結する場合は、 concat()関数を使用します ...

update articlestat set usr_id=CONCAT(usr_id, ",some@gmail.com")
where articleid=11;
于 2013-04-03T15:56:56.290 に答える
0

私のサーバー上:

UPDATE test SET uname= CONCAT(uname, ",some@gmail.com")

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

UPDATE articlestat 
SET usr_id = CONCAT(usr_id, ",some@gmail.com");

プラス記号への参照は、数学クエリ用です。

update Test SET ID=`ID`+2;

例えば。

于 2013-04-03T15:56:14.337 に答える