如何把其他数据库中AUTO_INCREMENT约束的字段(如ID)导入Vertica数据库
2014-04-29 08:31
405 查看
如果在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;
经过分析研究及测试,先创建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;
相关文章推荐
- 牛腩购物9 用户表设计/动软生成器/金钱字段decimal(18, 2)/ 注册的时候的前台js判断/后台代码判断/正则表达式软件/RegexBuddy/设置数据库字段的唯一性约束/如何获取控件在前台html的id值/如何将C#的后台正则换成js的正则
- [导入]数据库中字段为NULL,业务逻辑层中如何实现判断是否为NULL
- MySQL 字段约束 null, not null, default, auto_increment
- 数据库的索引,mysql中的索引|||如何在mysql中对text字段加索引?|||mysql数据库中的字段在什么情况下加索引?|||高手请进:text字段不能做索引,有无其他方法?|||该建那个字段
- MongoDB 实现字段自动增长id Mongodb auto increment ID
- MySQL中的字段约束 null、not null、default、auto_increment
- 如何解决数据库中的字符型字段值中包含'0A'时,导出的文件用EXECEL打开时行数变多或者将结果导入数据库出错
- MySQL中的字段约束 null、not null、default、auto_increment
- Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库 自定义日志记录功能,按日记录,很方便 C#常量和字段以及各种方法的语法总结 类型,对象,线程栈,托管堆在运行时的关系,以及clr如何调用静态方法,实例方法,和虚方法 asp.net webapi 自定义身份验证
- 如何把其他用户创建的表,导入到自己数据库是,所有者owner改变为自己创建的用户
- 如何解决数据库中的字符型字段值中包含'0A'时,导出的文件用EXECEL打开时行数变多或者将结果导入数据库出错
- mysql 如何将一个数据库中某个表中某个字段导入另外一个数据库里指定表里
- 如何解决数据库中的字符型字段值中包含'0A'时,导出的文件用EXECEL打开时行数变多或者将结果导入数据库出错
- 如果数据表中‘Id’为主键,如何利用数据库自带工具导入数据呢
- 如何在oracle中导入导出dmp数据库文件
- 如何显示数据库long text 字段内容
- 如何远程导入导出数据库
- 如何对数据库中的表以及表中的字段进行重命名
- 如何把DataTable 数据导入数据库表
- mysql如何利用Navicat 导出和导入数据库