Definition von 'check' gesucht
Norbert
- datenbank
0 Vinzenz Mai0 Norbert
Hallo,
das folgende CREATE-Statement kapiere ich nicht wirklich
create table irgendwas (
irID integer not null primary key,
irType integer not null
check (irType = 100100000 or irType = 100200000 or
irType = 100300000 or irType = 100400000 or
irType = 100500000 or irType = 100600000 or
irType = 100700000 or irType = 100800000 or
irType = 1)
) TYPE=InnoDB CHARACTER SET utf8;
Kann mir bitte jemand die Funktion "check" erlaeutern oder einen hilfreichen Link
posten. Und da die Daten von 'InnoDB' nach 'MyISAM' portieren werden, noch die Frage:
Funktioniert "check" unter MyISAM ueberhaupt?
Gruss und Dank
Norbert
Hallo Norbert,
check (irType = 100100000 or irType = 100200000 or
irType = 100300000 or irType = 100400000 or
irType = 100500000 or irType = 100600000 or
irType = 100700000 or irType = 100800000 or
irType = 1)
ich persönlich bevorzuge den IN-Operator gegenüber solchen OR-Verknüpfungen :-)
Kann mir bitte jemand die Funktion "check" erlaeutern oder einen hilfreichen Link
posten.
http://www.postgresql.org/files/documentation/books/pghandbuch/html/sql-createtable.html
http://dev.mysql.com/doc/refman/5.0/en/create-table.html
jeweils nach "check" suchen :-) Die PostgreSQL-Doku sagt Dir, was CHECK
bewirken kann, den relevanten Satz aus der MySQL-Doku zitiere ich für Dich:
<zitat>
The CHECK clause is parsed but ignored by all storage engines.
</zitat>
Und da die Daten von 'InnoDB' nach 'MyISAM' portieren werden, noch die Frage:
Funktioniert "check" unter MyISAM ueberhaupt?
Funktioniert "check" unter MySQL überhaupt?
Mit diesem CREATE-TABLE-Statement ist jedoch dokumentiert, welche Werte die
Spalte irType nur annehmen sollte.
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
ich persönlich bevorzuge den IN-Operator gegenüber solchen OR-Verknüpfungen :-)
stimmt,
wobei ich nicht abzuschaetzen wage, welche Variante schneller ist.
In einem anderen Zusammenhang wird OR als optimalste Loesung angegeben.
Und da die Daten von 'InnoDB' nach 'MyISAM' portieren werden, noch die Frage:
Funktioniert "check" unter MyISAM ueberhaupt?
na-ja,
zumindestens wirft es keinen Fehler ...
Also alles noch Zukunftsmusike ... ;-)
Gruss und Dank
Norbert