@@ -26,6 +26,14 @@ Technology Innovation Group真野です。
2626
2727なお、調査に用いたPostgreSQLバージョンは ` 17.0 ` です。
2828
29+ ** 2024/11/13 追記しました:**
30+
31+ - 「作成されたシーケンスの名称」章のシーケンス名取得の方法を追記
32+ - 「シーケンス名の上限63文字を超過したテーブル、カラム名の場合」章を追加
33+ - 「テーブル名を変更した時シーケンス名はどうなるか」章を追加
34+ - 「カラム名をを変更した時シーケンス名はどうなるか」章を追加
35+ - 「独自に作成したシーケンスとの紐づけ方法」を追加
36+
2937## 記事のサマリ
3038
3139- 新規構築なら連番の自動採番はSERIAL/BIGSERIALの代わりに ` GENERATED ALWAYS AS IDENTITY ` の利用がベター
@@ -126,7 +134,7 @@ CREATE TABLE color (
126134);
127135```
128136
129- color_idに3を指定してインターとしようとするとエラーが出て止められます 。
137+ color_idに3を指定してインサートとしようとするとエラーが出て止められます 。
130138
131139``` sql
132140postgres= # INSERT INTO color (color_id, color_name) VALUES (3, 'Blue');
@@ -531,7 +539,7 @@ CREATE TABLE color (
531539);
532540```
533541
534- ### 10. 文字列型とGENERATED BY DEFAULT AS IDENTITYの組み合わせ
542+ ### 10. 文字列型とGENERATED AS IDENTITYの組み合わせ
535543
536544文字列型(text型)にGENERATED ALWAYS AS IDENTITYを指定すると、いい感じの型変換により '1'、'2'、...といった採番がされないかと思いついたので試しました。
537545
@@ -545,7 +553,7 @@ ERROR: identity column type must be smallint, integer, or bigint
545553
546554無事エラーで、これは対応していないようです。型としては、` smallint ` ` integer ` ` bigint ` のみ対応。
547555
548- ### 11. SERIAL型とGENERATED BY DEFAULT AS IDENTITYの組み合わせ
556+ ### 11. SERIAL型とGENERATED AS IDENTITYの組み合わせ
549557
550558SERIAL型であれば、型としては ` integer ` 型なので、いけるのではと一応チャレンジしました。結果は以下のエラーです。
551559
0 commit comments