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

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

008:MySQLのカラムデータから文字列を削除してUPDATE

対象言語:PHP / MySQL
キーワード:PHP 5.0 MySQL UPDATE 文字列 削除 CSV アップデート カラム データ REPLACE 抜き取る
002:MySQLのカラムデータに文字列を付け足してUPDATE」の逆パターンです。理総研ではMySQLのカラムの文字列データを他のプログラムに応用しやすいCSV形式(カンマ区切り)で扱うこともあり、002がCSV形式での付け足しだったので、この形式が壊れないように002に合わせて書いていきます。
$sql =<<<EOF

	UPDATE `user`
	SET `mate` = REPLACE(`mate`, '{$delete_id},', '')
	WHERE `mate` LIKE '%{$delete_id}%'

EOF;

$result = mysql_query($sql,$link) or die('更新できねぇ:' . mysql_error());
  • 「mate」カラムの作りが「id01,id02,i03,」といったCSV形式を採っており、 「mate」カラムのデータ(文字列)から指定した文字列($delete_id)を抜き取ります。正確に言えば、REPLACE関数で「''」(空白ですらない何か)に置き換えます。ただし$delete_idだけを抜き取ると「,,」な感じでカンマが残ってしまうので、削除するのはカンマも含めた「'{$delete_id},'」となります。 削除する文字列が「mate」カラム内にあるならば、という指定をWHERE句のLIKEで行っています。
    このCSV形式のカラムデータをどのように利用していくかと言えば、例えばPHP側でexplodeして配列にするとか、MySQL内でIN演算子に渡すために使うとか、いろいろあります。いずれにしてもカラムデータの最後につく「,」は取り除かないといけませんが、それはいざ利用するときに処理します。→「009:文字列の最後の1字を削除
著者 You Mizuguchi
  • PR
  • 理総研内ショートカット
  • 理総研セレクト
理総研オススメの受験アイテムたち
:: セレクト一覧 ::
  • 投稿口コミ情報 (承認分)
> 横浜市立 横浜サイエンスフロンティア高等学校附属中学校
> 中部大学春日丘中学校
> 鳴門教育大学附属中学校
> 樟蔭東中学校
> 夙川学院中学校
> 太成学院大学中学校
> 香里ヌヴェール学院中学校
> アサンプション国際中学校
> 四日市メリノール学院中学校
> 鈴鹿中等教育学校
: 理科視点・中学校情報 :
  • ブログ投稿履歴
  • 現在のピクセルプラネット
Pixel Planet - piximage/rsk-1/2017-03-30.png
:: RSK-1の開拓史へ ::
  • 理総研について
中学入試理科の日々の暗記学習をA'n'King(アンキング)などのデジタル教材でサポートする、登録制無料コンテンツサイトです。
:: 詳しくはコチラ ::
理総研 :2011.02.03 設立
管理人 :水口 佑 / Cordu-Roy
お仕事 : フリープログラマー
:大手進学塾理科講師
:テレビドラゼミ講師