MySQLで指定カラムの文頭もしくは文末に文字を追記する方法
MySQLで特定カラムの文頭もしくは文末に年月日日時(YmdHis)を追記したいというケースが偶にあるが、今までは一旦当該データを取得しPHP側で追記した後にupdateしていた。ただ、最近見たソースコードでCONCATを用いてスマートに対応している方法があったので忘れないようにメモ。
対応方法
ソースコード
/* 文頭に追記 */ UPDATE `test_table` SET `mail` = CONCAT(DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'), '_', `mail`) WHERE id = 1; /* 文末に追記 */ UPDATE `test_table` SET `mail` = CONCAT(`mail`, '_', DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')) WHERE id = 1;
mailカラムの文頭もしくは文末にYmdHis形式の文字を追記するという内容になる。バッククォートとシングルクォーテーションが混合しているので注意すること。
リファレンス
CONCAT
https://dev.mysql.com/doc/refman/8.0/ja/string-functions.html#function_concat
関連記事
-
-
MySQLでwhere句を使ってカラム指定でデータをコピーする方法
MySQLで大量のデータを保存しているテーブルがあり、そのデータを絞った上で尚且 ...
-
-
PHP / MySQLで2038年問題の対策
先日打ち合わせの際に「タイムスタンプを使ってユニークキーに云々~~」といったよう ...
-
-
MySQLでtext型カラムに入っている数値をint型としてソートする
MySQLでtext型として指定されているカラムがあり、その中には文字列であった ...
-
-
サイズが大きめのMySQLデータをレンタルサーバに移行する方法
お名前.comのレンタルサーバにそこそこ大きいサイズのMySQLデータを移行した ...
-
-
MySQLで月別に集計を行う。あと日付時刻関数。
現在進行形でやっているデータ集計系だけど 新たな発見があったのでメモ。 ■日付時 ...