シーケンス
シーケンスの作成など、操作する方法を知らなかったのでいろいろ調べました。
作成
CREATE SEQUENCE hoge_seq START WITH 1;
現在の値を取得
currval()
nextval()がされていないと取得できない。エラーになる。
SELECT currval('user_id_seq') as id_seq;
次の値を取得
nextval()
現在の値に+1して、その値を取得する。
SELECT nextval('user_id_seq') as id_seq;
任意の値を設定
setval()
任意の値を設定できる。0は設定できない。
第3引数にfalseを指定すると、次にnextval()をした時に、設定した値と同じ値を取得できる。
SELECT setval(‘hoge_seq’,1,false); とすれば、nextval()した時に1が取得できる。
SELECT setval('hoge_seq',1);
SELECT setval('hoge_seq',1,false);
LIKE検索のエスケープ PHP
LIKE検索のエスケープ。これで正しいのかはわかりませんが、忘れないために残しておく。
「\\」「_」「&」の前に「\」を付けるように置換する。
$keyword = str_replace(['\\','_','%',],['\\\\','\_','\%',],$keyword);
もっと別のやり方があるかもしれませんが、とりあえず自分はこのように対応しました。