簡體   English   中英

我們如何將PostgreSQL中的序列遷移到Mysql

[英]How can we migrate sequence in PostgreSQL to Mysql

所有,

我正在嘗試從PostgreSQL數據庫遷移到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不是鍵,而是自動遞增

MySQL int auto_increment主鍵應該與postgreSQL 序列非常相似(不需要是主鍵)

如果要保留一些使用的序列,可以在MySQL auto_increment字段中插入一個值(例如3000),之后,任何新記錄都將從該值開始增加,即3001開始:

在此處輸入圖片說明

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。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM