YCF*_*F_L 20 postgresql sequence truncate
在级联上截断表时,有什么方法可以重置所有表序列。
我已经阅读了这篇文章如何在 postgres 中重置序列并用新数据填充 id 列?
ALTER SEQUENCE seq RESTART WITH 1;
UPDATE t SET idcolumn=nextval('seq');
Run Code Online (Sandbox Code Playgroud)
它仅适用于一个序列,但我的问题是重新启动截断表的所有序列。
考虑当我使用TRUNCATE sch.mytable CASCADE;它影响3个相关表,这意味着三个序列,是否有任何解决方案可以一次性重新启动此序列。
a_h*_*ame 38
该TRUNCATE语句有一个附加选项RESTART IDENTITY,用于重置与表列关联的序列。
TRUNCATE sch.mytable RESTART IDENTITY CASCADE;
Run Code Online (Sandbox Code Playgroud)
如果CASCADE已定义,则重置所有受影响表的序列。
| 归档时间: |
|
| 查看次数: |
26537 次 |
| 最近记录: |