所有
我正在尝试从PostgreSQL DB迁移到MySql DB。我在某些表中使用了序列来获取除主键之外的自动增量列。如何创建自动增量列,它是Mysql DB中的主键。
我在PostgreSQL中列出了一个示例表。
CREATE TABLE bills
(
id serial NOT NULL,
billname character varying(255) NOT NULL,
invoiceid character varying(255) NOT NULL DEFAULT nextval('bill_invoiceid_seq'::regclass),
CONSTRAINT combine_campaigns_pkey PRIMARY KEY (id)
)
在示例中,“id”是主键,发票ID不是键,而是获得自动增量
答案 0 :(得分:0)
MySQL int auto_increment主键应该与postgreSQL serial 非常相似(不需要是主键)
如果你想保留一些使用过的序列,可以在MySQL auto_increment字段中插入一个值(例如3000),之后任何新记录都会从这个值增加,即3001以后:
答案 1 :(得分:-1)
mysql中SERIAL列的等效项是AUTO_INCREMENT。按如下方式定义主键:
CREATE TABLE my_table(
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
...
)
或
CREATE TABLE my_table(
id int NOT NULL AUTO_INCREMENT ,
...
PRIMARY KEY(id)
)
请注意,在mysql中,每个表只能有一个AUTO_INCREMENT。另外值得一提的是,您正在从功能丰富且更接近标准合规性的RDBS转向功能较少且合规性较低的RDBS。