[英]How can we auto increment one of the columns of a compostite primary key?
CREATE TABLE abc(
seq_id INT NOT NULL,
name VARCHAR(30) NOT NULL,
value VARCHAR(100),
PRIMARY KEY (seq_id, name)
);
該表的內容將是:
Seq_id Name Value
1 Bill.billNo 1234
1 Bill.date 25/07/2014
1 Person.fname abc
1 Person.lname xyz
2 Bill.billNo 1220
2 Bill.date 11/07/2014
2 Person.fname def
2 Person.lname ghy
我希望seq_id列值自動增加。 我該如何實現?
通常這不容易做到。 您可以自動增加單個列(在Postgres中稱為SERIAL
),但不能相對於另一列自動增加。 好吧,可以。 但這需要使用觸發器。
不過,就您而言,我認為您存在數據建模問題。 seq_id
實際上代表某種東西 。 但是您沒有桌子。 我懷疑您應該有一個單獨的表,例如BillPersons
,其SERIAL
ID每個序列有一行。 然后,您將擁有另一個表,例如BillPersonDetails
,它具有自己的SERIAL
ID和對BillPersons
的外鍵引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.