我有两个带有串行字段的表(在表"m“中是字段"uniq”,在表"u“中是字段"uniq")。但是,如果我为u中的下一行插入数据(例如)u中的自动增量函数make +1 (从1到2),但是如果在此操作之后,我在另一个表(例如)m自动增量字段中插入数据,则不是在列(1,2, 3 ..)中写入下一个值,而是在3中写入数据,即使在字段中为1。
它的意思是,自动增量函数将数据库中的每个值依次递增,而不是在表中增加。
对不起,对这个问题的描述这么差,英语也很差。
发布于 2014-03-02 10:40:16
如果您想拥有一个id,即unique in all tables,请尝试这样的方法
CREATE SEQUENCE id_seq;
CREATE TABLE table1(id INTEGER PRIMARY KEY DEFAULT NEXTVAL('id_seq'),Test1 varchar);
CREATE TABLE table2(id INTEGER PRIMARY KEY DEFAULT NEXTVAL('id_seq'),Test2 varchar);尝试这样的方法来创建unique id for each table
CREATE TABLE table3(id serial,Test3 varchar);
CREATE TABLE table4(id serial,Test4 varchar);SQL Fiddle
发布于 2014-03-02 10:25:17
如果我正确理解,您需要表"a“和"b”上的唯一ID。因此,创建一个带有串行列的表仅仅是为了拥有您的密钥(例如。( "id_table")和所有其他表都将此键作为外键。每次您需要一个新的ID,您插入您的"id_table“并指向这个新的键。
https://stackoverflow.com/questions/22126247
复制相似问题