我正在尝试将csv文件导入到下面的表中,并且不断出现此错误:
错误:重复的键值违反了唯一约束“ tmdb_5000_movies_production_companies_key” 详细信息:密钥(production_companies)=([[{iso_3166_1:US,名称:美利坚合众国}])已经存在。 内容:COPY tmdb_5000_movies,第5行
-创建新表
CREATE TABLE tmdb_5000_movies (
"budget" INT,
"genres" VARCHAR UNIQUE,
"homepage" VARCHAR UNIQUE,
"id" INT,
"keywords" VARCHAR UNIQUE,
"original_language" VARCHAR,
"original_title" VARCHAR,
"overview" VARCHAR,
"popularity" DEC,
"production_companies" VARCHAR UNIQUE,
"production_countries" VARCHAR UNIQUE,
"release_date" DATE,
"revenue" BIGINT,
"runtime" INT,
"spoken_languages" VARCHAR UNIQUE,
"status" VARCHAR,
"tagline" VARCHAR,
"title" VARCHAR,
"vote_average" DEC,
"vote_count" INT
);
我试图更改数据类型,但是我不知道还有什么其他方法。对此非常新颖,我将获得的任何帮助将不胜感激!
答案 0 :(得分:0)
如果一列具有UNIQUE
约束,则不允许两个表行在该列中具有相同的值(除非它是NULL
的值)。
要么删除UNIQUE
约束,要么清理数据。
如果您希望列的组合是唯一的,则必须在几列上定义UNIQUE
约束:
CREATE TABLE t (
col1 type1,
col2 type2,
UNIQUE (col1, col2)
);
此外,每个表都应有一个主键。