1回のSQL文で複数のUPDATE
INSERTはバルクインサートを使えばいいが、
UPDATEはあまり聞かないので調べたところ、
一括で出来るものを発見。
$sql = "
UPDATE テーブル名
SET calam_num=
(CASE calam_seq
WHEN seq_1 THEN num_1 WHEN seq_2 THEN num_2 ...
ELSE calam_num END);
";
でUPDATEできる。
WHENのところでseqを指定して、該当seqのnumを書き換える。
やりたかった事は、
----------
numが連番になっているところを途中のカラムを削除
↓↓
欠番が出るので、削除したカラム以降のnumを+1する
----------
で、↓↓でとりあえずは解決できた。
//欠番を埋める為、SQL文の中身をループで作成
for($i=1; $i<=count($sort_seq); $i++){
$sort_sql .= 'WHEN '.$sort_seq[$i-1].' THEN '.$i.' ';
}
//ソート順を欠番を埋めて並びかえ
$sql = "
UPDATE テーブル名
SET num=
(CASE seq
$sort_sql
ELSE num END);
";
尚、他にも方法はあるみたいなので、機会を見て検証する。
↓↓
関連記事
-
-
MySQLで特定カラムのbrタグを改行コードに一括置換
MySQLで特定カラムの<br>タグを改行コードに一括置換したかった ...
-
-
さくらインターネットでCronを動かすも挙動が変
さくらインターネットのレンタルサーバでmysqldumpした結果をファイルとして ...
-
-
MySQLでパターンマッチの逆
LIKE検索の逆ってなったのでメモ。 NOT LIKE '%あああ%' が正解み ...
-
-
MySQLでテーブルの詳細情報を取得
MySQLでテーブルの詳細情報を取得 desc テーブル名; ■サンプル mys ...
-
-
MySQLでユーザー作成時にエラーが発生
SSHからrootアカウントでMySQLにログインし、ユーザーを作成しようとする ...
-
-
MySQLでランダムに取得
SELECT カラム名 FROM テーブル名 ORDER BY RAND() L ...
-
-
MySQLiでINSERT文
MySQLiでINSERT文 ■ソース $mysqli = new mysqli ...
-
-
WordPressでデータベース接続確立エラー
WordPressで「データベース接続確立エラー」というエラー表示がされた。大抵 ...
-
-
お名前.comの共用サーバー(SD)にphpmyadminを入れる
公式で書いてあるやつは3.4.2だけど、もうちょっと新しいバージョンを入れたかっ ...
-
-
MySQL/Apacheの再起動
忘れないようにメモ。 ■MySQL service mysqld restart ...
- PREV
- metaタグでSEO
- NEXT
- モダンブラウザとレガシーブラウザ