PostgreSQLでオートナンバー型
MySQLではオートナンバーをカラムの制約に指定するとokだった
PostgreSQLでもそうらしい。ちなみに、Oracleはスキーマを作成しなければ逝けないとか逝けなく無いとか(どっちだ
MySQLの《おーと いんくりでいめんと》はMySQLの独自なのでPostgreSQLで利用するには、やはりPostgreSQL独自の制約を指定する必要がある
…オートナンバーとか地味に使うんだけど、++つか、元々オートナンバー指定していなくてもテーブルはインサートのナンバーを記録しているはずで(MySQLはそうみたい)独自定義するほどの機能では無い気がするんだけどなぁ
まあ戯言
CREATE TABLE test ( auto_id serial, no_auto_int int2, PRIMARY KEY (auto_id) ) WITHOUT OIDS TABLESPACE pg_default; ALTER TABLE test OWNER TO postgres;
オートナンバーであるカラム《auto_id》を所持するtestテーブルの作成クエリ
カラムにserialを指定すれば、オートナンバーが機能する
ここで注意するのは、MySQLと違って0からではなく1からカウントされるということ
多分、ここのポイントは別明記で変更できると思うがデフォでは違いが大きいので注意
・追記
もう一つ注意
既に製作済みのテーブルに対してカラムの型変更を行う場合は、変更できる型が限られる様子
postgresqlのオートナンバであるserialの指定はその範囲外(ここら辺はvarに左右されるらしい。テーブル…というかカラムに内容が存在しない場合は変更できる場合も)
よって、素直に中身のバックアップでもして作り直すのが妥当。オートナンバーは便利で利用に易いが、その分色々と面倒が出てくる事もある