UPDATE文でデータを一括で変更する際に、
「文字列の一部を置換したい」ということがあると思います。
REPLACE関数を使えば簡単です。
在宅プログラマーの備忘録として2005年に始めたブログです。
UPDATE文でデータを一括で変更する際に、
「文字列の一部を置換したい」ということがあると思います。
REPLACE関数を使えば簡単です。
MySQLでテーブルの種類がInnoDBの場合、データを削除しても容量は変化しません。
容量を更新するには、削除した後、alter tableを実行します。
MySQLには自動で採番するAUTO_INCREMENTという設定があります。
基本的にはこれを使えば自動的にユニークな番号を採番してくれるのですが、
データを頻繁に削除したり、テーブルをコピーしたりしていると
AUTO_INCREMENTの値が重複したり、過去に削除したデータと同じ値になってしまったりと
いろいろと怖いリスクがあります。
そのリスクを避けるため、私はINSERT文を実行する関数の中で自前で採番するようにしています。
カラムがvarchar型だけど数値としてソートしたい場合です。
のようにそのまま指定すると
という感じで文字列としてソートされてしまいます。
数値としてソートしたいときはLPAD関数でゼロ埋めをします。
20ケタにしたのはあくまで例ですが、
ゼロ埋めをすることで数値の大きい順、小さい順にソートできます。
基本は
に書き込んで再起動ですが、
再起動なしでSQLで直接設定したいときは
例)wait_timeoutを30に設定