理総研Webは、中学入試理科の暗記学習をA'n'Kingなどのデジタル教材でサポートする登録型eラーニングサイトです。
Name:
Pass:
理総研@中学受験専門:理科総合研究所
Front Page > Web Tech and Development Notes

理総研:技術情報と開発メモ

002:MySQLのカラムデータに文字列を付け足してUPDATE

対象言語:PHP / MySQL
キーワード:PHP 5.0 MySQL UPDATE 文字列 連結 合体 CSV アップデート カラム データ 付け足す CONCAT
MySQLでカラムの型が数値の場合、加算アップデートはとても楽な作業ですよね。がしかし、文字列を付け足す処理をインターネットで探していたら、多分私の探し方がダメだったのでしょう。見つからなかったので、1回の処理で済むように少し考えました。
なおこの逆パターンは「008:MySQLのカラムデータから文字列を削除してUPDATE」にあります。
$sql =<<<EOF
	
	UPDATE `user`
	SET `mate` = CONCAT(`mate`, '{$plus_id},')
	WHERE `mate` NOT LIKE '%{$plus_id}%'
	
EOF;
	
$result = mysql_query($sql,$link) or die('更新できねぇ:' . mysql_error());
  • 「mate」カラムの作りが「id01,id02,id03,」といったCSV形式(カンマ区切り)を採っているときに、 現在の「mate」カラムのデータ(文字列)の後ろに、新しい文字列($plus_idと「,(カンマ)」)を追加します(4行目)。}のあとの「,」を忘れると、CSV形式が壊れてしまいますので注意。 CONCAT関数は文字列の連結に使用します。
    追加する文字列がすでに「mate」カラム内にある場合は追加しないようにするため、WHERE句のNOT LIKEで調整しています。
    このCSV形式のカラムデータをどのように利用していくかと言えば、例えばPHP側でexplodeして配列にするとか、MySQL内でIN演算子に渡すために使うとか、いろいろあります。いずれにしてもカラムデータの最後につく「,」は取り除かないといけませんが、それはいざ利用するときに処理します。→「009:文字列の最後の1字を削除
著者 You Mizuguchi
  • PR
  • 理総研内ショートカット
  • 理総研セレクト
理総研オススメの受験アイテムたち
:: セレクト一覧 ::
  • 投稿口コミ情報 (承認分)
> 灘中学校
> 横浜市立 横浜サイエンスフロンティア高等学校附属中学校
> 中部大学春日丘中学校
> 鳴門教育大学附属中学校
> 樟蔭東中学校
> 夙川学院中学校
> 太成学院大学中学校
> 香里ヌヴェール学院中学校
> アサンプション国際中学校
> 四日市メリノール学院中学校
: 理科視点・中学校情報 :
  • ブログ投稿履歴
  • 現在のピクセルプラネット
Pixel Planet - piximage/rsk-1/2017-07-27.png
:: RSK-1の開拓史へ ::
  • 理総研について
中学入試理科の日々の暗記学習をA'n'King(アンキング)などのデジタル教材でサポートする、登録制無料コンテンツサイトです。
:: 詳しくはコチラ ::
理総研 :2011.02.03 設立
管理人 :水口 佑 / Cordu-Roy
お仕事 : フリープログラマー
:大手進学塾理科講師
:テレビドラゼミ講師