dポイントプレゼントキャンペーン実施中!

すみません、DB初心者です。

PostgreSQLで、
列A, B, C, D, E, F を持つテーブルを作り、
A+B+Cの複合で一意となる様にしたい、
です。

AとBには意味のある値をプログラムから与えますので、
Cを自動採番させたいのですが可能でしょうか?
例えば
A="aaa"
B="bbb"
のパターンの行が10行くらいできるので、
A("aaa")+B("bbb")+C("1")
A("aaa")+B("bbb")+C("2")
A("aaa")+B("bbb")+C("3")
 :
パターンが違うデータをINSERTすればまた
A("aa2")+B("bb2")+C("1")
A("aa2")+B("bb2")+C("2")
 :
といった様にしたいのです。
どなたかご教示の程宜しくお願い致します。m(_ _)m

A 回答 (1件)

聞いたことのないDBですが最近は色々出ているのですね。



単純にinsertの時にシリアル型のフィールドにも値をセットすれば良いかと思いましたがダメなのですね。
少し調べてみました。
setvalで初期化できるようですよ。

select setval('mytable_id_seq', 1, false);
上の例がなぜselectに繋げてるのかまでは調べていません。

引用元
http://killswitch5375.hatenablog.com/entry/20131 …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!