Heim > Datenbank > MySQL-Tutorial > 如何把其他数据库中AUTO_INCREMENT约束的字段(如ID)导入Vertic

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

WBOY
Freigeben: 2016-06-07 15:55:45
Original
1188 Leute haben es durchsucht

如果在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;

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage