人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: ReoReo7
●カテゴリ:インターネット ウェブ制作
✍キーワード:abc MySQL SET SQL データ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● y-kawaz
●35ポイント ベストアンサー

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

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

◎質問者からの返答

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

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

. "ON DUPLICATE KEY UPDATE "

. "log = VALUES(log), ";

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


2 ● きゃづみぃ
●35ポイント

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

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

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ