簡體   English   中英

MySQL => Postgres遷移:如何編寫序列起始值的腳本?

[英]MySQL => Postgres migration: How do I script the sequence start values?

我正在使用mysqldumppsql從MySQL遷移到Postgres。 我復制了所有數據,但serial s從1開始。我需要將起始值更新為最后一個id號。 如何編寫腳本以自動執行此操作? 我試過了

alter sequence keyword_id_seq restart (select max(id) from keyword);

它給出了一個錯誤

ERROR:  syntax error at or near "(" at character 39
STATEMENT:  alter sequence keyword_id_seq restart (select max(id) from keyword);
ERROR:  syntax error at or near "("
LINE 1: alter sequence keyword_id_seq restart (select max(id) from k...

創建序列時(使用CREATE SEQUENCE table_colname_seq START 123; ),我無法設置起始值,因為在我編輯文件時或在復制數據之前,新值可能會插入到舊DB中。

使用setval

SELECT setval('keyword_id_seq', (select max(id) from keyword));

暫無
暫無

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

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