[英]MySQL => Postgres migration: How do I script the sequence start values?
我正在使用mysqldump
和psql
從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.