首頁 > 資料庫 > mysql教程 > 如何把其他数据库中AUTO_INCREMENT约束的字段(如ID)导入Vertic

如何把其他数据库中AUTO_INCREMENT约束的字段(如ID)导入Vertic

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
發布: 2016-06-07 15:55:45
原創
1212 人瀏覽過

如果在Vertica数据库在建一张同样带AUTO_INCREMENT约束字段(ID)的表,由于AUTO_INCREMENT约束的限制,COPY导入数据时会发生冲突,导致COPY执行失败。 经过分析研究及测试,先创建SEQUENCE,然后创建表并设置ID字段的缺省为NEXTVAL('schemaname.sequencenam

如果在Vertica数据库在建一张同样带AUTO_INCREMENT约束字段(ID)的表,由于AUTO_INCREMENT约束的限制,COPY导入数据时会发生冲突,导致COPY执行失败。

经过分析研究及测试,先创建SEQUENCE,然后创建表并设置ID字段的缺省值为NEXTVAL('schemaname.sequencename'),就可COPY导入AUTO_INCREMENT约束字段的数据。步骤如下:

1、创建SEQUENCE:

create SEQUENCE public.mytab_id_seq;

2、创建表:
CREATE TABLE IF NOT EXISTS public.mytab (
id bigint NOT NULL DEFAULT NEXTVAL('public.mytab_id_seq') UNIQUE PRIMARY KEY,
...
);

3、导入数据:
copy public.mytab ( we_id,...) from '/home/username/mytab.csv' DELIMITER '|';

4、查询ID的最大值:

select max(id) from mytab;

5、修改SEQUENCE的初始值为ID的最大值(如720):

ALTER SEQUENCE public.mytab_id_seq RESTART WITH 720;

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
如何學習MongoDB?
來自於 1970-01-01 08:00:00
0
0
0
如何配置 bcmath
來自於 1970-01-01 08:00:00
0
0
0
java如何產生token?
來自於 1970-01-01 08:00:00
0
0
0
phpstudy 自備apache如何升級openssl到1.0.2o版本
來自於 1970-01-01 08:00:00
0
0
0
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板