MySQLのUPDATE構文について質問です。

データベースに接続した状態で、log列のデータに',abc'という文字列を加えたい場合、どうすればよいでしょう?とりあえず適当に作ってみたのが
$sql = "UPDATE status SET log = CONCAT(VALUES('log'),',abc') WHERE id = 1";
$result = mysql_query($sql);
ですが、$result = falseとなっています。正しい構文は何でしょうか?

MySQLのバージョンは5です。よろしくお願いします。

回答の条件
  • 1人3回まで
  • 13歳以上
  • 登録:2010/10/22 01:19:21
  • 終了:2010/10/22 12:55:55

ベストアンサー

id:y-kawaz No.1

y-kawaz回答回数1420ベストアンサー獲得回数2252010/10/22 01:52:26

ポイント35pt

単純に VALUES('log') の部分を log だけにすれば良いと思います。

よく分かりませんがINSERTの文法と頭の中で変な具合にごっちゃになってませんか?

id:ReoReo7

ありがとうございます。ごっちゃになってます(笑)

INSERT INTO status VALUES('a','b','c') "

. "ON DUPLICATE KEY UPDATE "

. "log = VALUES(log), ";

の3行目とごっちゃになってました(汗) ありがとうございました!

2010/10/22 09:59:51

その他の回答(1件)

id:y-kawaz No.1

y-kawaz回答回数1420ベストアンサー獲得回数2252010/10/22 01:52:26ここでベストアンサー

ポイント35pt

単純に VALUES('log') の部分を log だけにすれば良いと思います。

よく分かりませんがINSERTの文法と頭の中で変な具合にごっちゃになってませんか?

id:ReoReo7

ありがとうございます。ごっちゃになってます(笑)

INSERT INTO status VALUES('a','b','c') "

. "ON DUPLICATE KEY UPDATE "

. "log = VALUES(log), ";

の3行目とごっちゃになってました(汗) ありがとうございました!

2010/10/22 09:59:51
id:taknt No.2

きゃづみぃ回答回数13539ベストアンサー獲得回数11982010/10/22 06:19:01

ポイント35pt

$sql = "UPDATE status SET log = CONCAT(log,',abc') WHERE id = 1";

VALUESってINSERTするときに INSERTする項目を並べるときだけに使うんじゃないのかな。

id:ReoReo7

ありがとうございます。おかげさまでできました。お察しの通り、勘違いしていたようです。

2010/10/22 12:55:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません