2017-06-15 113 views
1

在Redshift中推送数据时,我是Redshift新手,其中主键创建为Vin(车辆识别号码)。即使按两次相同的键也没有得到任何约束异常,而是将相同的数据保存为记录。红移约束(主键和外键约束)

而当与外键约束再次得到相同的问题。我是否缺少启用db中控制的任何配置?

+0

由于下面Tim已经解释过了,所以我不会再重复。不过,请参阅:http://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_examples.html#r_CREATE_TABLE_NEW-create-a-table-with-an-identity-column创建一些可确保您的唯一性的内容记录。 –

回答

2

AWS documentation

定义表之间的主键和外键约束在适当情况下。尽管它们只是信息性的,但查询优化器使用这些约束来生成更高效的查询计划。

除非您的应用程序强制约束,否则不要定义主键和外键约束。 Amazon Redshift不执行唯一的主键和外键约束。

如果我正确地读出这些信息,你应该遵循的解决方法是在要插入每个VIN号码是唯一的应用程序层检查。