2017-06-15 3 views
1

Ich bin neu in Redshift, wenn Sie die Daten in Redshift schieben, wo der Primärschlüssel als Vin (Vehicle Identification Number) erstellt wurde. Selbst wenn Sie den gleichen Schlüssel zweimal drücken, erhalten Sie keine Ausnahme, stattdessen werden dieselben Daten als Datensatz gespeichert.Redshift Constraints (Primärschlüssel und Fremdschlüssel Einschränkungen)

Und wenn mit Fremdschlüssel Einschränkung wieder das gleiche Problem zu bekommen. Fehle ich irgendwelche Konfigurationen für die Aktivierung der Kontraste in db?

+0

Da es von Tim unten erklärt wurde, werde ich das Offensichtliche nicht wiederholen. Siehe jedoch: http://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_TABLE_examples.html#r_CREATE_TABLE_NEW-create-a-table-with-an-identity-column, um etwas zu erstellen, mit dem die Eindeutigkeit von Aufzeichnungen. –

Antwort

2

Vom AWS documentation:

definieren Primärschlüssel und Fremdschlüssel-Constraints zwischen den Tischen, wo immer angemessen. Obwohl sie nur informativ sind, verwendet der Abfrageoptimierer diese Einschränkungen, um effizientere Abfragepläne zu generieren.

Definieren Sie keine Primärschlüssel- und Fremdschlüsseleinschränkungen, es sei denn, Ihre Anwendung erzwingt die Einschränkungen. Amazon Redshift erzwingt keine eindeutigen Einschränkungen für Primärschlüssel und Fremdschlüssel.

Wenn ich diese Informationen richtig gelesen, die Abhilfe Sie folgen sollten, ist in Ihrer Anwendungsschicht zu überprüfen, die jede Fahrgestellnummer eingefügt werden eindeutig ist.

Verwandte Themen