2009-05-19 16 views
5

Oft, wenn ich einen Blick in Navicat definieren erhalte ich die folgende Meldung:MySQL Ansichten in Navicat - Wie definiert man "Primärschlüssel"?

xxx keinen Primärschlüssel hat. Aktualisierungen dieser Tabelle wird mit dem folgenden Pseudo-Anweisung erfolgen: UPDATE xxx SET ModifiedFieldsAndValues ​​WHERE AllFieldsAndOldValues ​​LIMIT 1

Offensichtlich nur ich meine Ansichten verwenden für Anzeigen von Daten, nicht aktualisieren. Aber das hat mich neugierig gemacht:

Gibt es eine Möglichkeit, einen "Primärschlüssel" oder "eindeutigen Index" auf einer Ansicht zu definieren?

Antwort

0

Dies bedeutet, dass die Ansicht die Indizes und Primärschlüssel ihrer Basistabelle verwendet. Sie können die Semantik ändern, wie Einsatz und Updates auftreten, wenn sie über Ansichten mit von

mit den CASCADING Prüfoptionen spielen

See Updatable and Insertable Views

+2

Ok, aber die meisten Ansichten bestehen aus mehreren Tabellen, die miteinander verbunden sind ... Ist es automatisch prüfen, ob es eine eindeutige Kombination von Indizes gibt? – Ropstah

+0

@Ropstah, Damit das passiert, braucht es sowieso einen Index. Bedeutet 'show keys in View' einen leeren Satz? – Pacerier