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にて直近のクエリで発行されたAUTO_INCREMENTの値を取得する方法
やりたかったことは「MySQLで新規登録(INSERT)なら、登録時のAUTO_ ...
-
-
MySQLでdatetime型データの〇日後を取得する方法(DATEDIFF)
MySQLでdatetime型データがあり、何日経過しているかを取得し、〇日経過 ...
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...
-
-
MySQLでテキスト(日本語、半角英数字)を暗号化・復号化する方法
MySQLでデータを登録する際に暗号化したいというケースがあった。対象のデータは ...
-
-
SortableJSを使ってデータの並べ替え&保存
あるシステムを拝見した際にtableタグ内に並んでいる項目をドラッグ&ド ...