eine einfache Tabelle:
ID, NAME, POST_ID, GROUP_ID
entweder POST_ID oder GROUP_ID müssen gesetzt sein, aber nie beide, KEINES von beiden. Also,
Es gibt gültige Fälle:
ID, NAME, POST_ID, GROUP_ID
x, y, 1, NULL
x, y, NULL, 4
und NICHT GÜLTIGE Fälle:
ID, NAME, POST_ID, GROUP_ID
x, y, NULL, NULL
x, y, 4, 4
ist es möglich, solch komplizierte Einschränkungsregeln festzulegen?
Antwort1
Ich glaube nicht, dass das möglich ist. Ich würde solche Fälle im Frontend abfangen, wo der Benutzer die Daten eingibt. Außerdem können Sie vielleicht beide Felder durch zwei andere Felder ersetzen:
Ein category
Feld vom Typ enum
mit den möglichen Werten „Post“ oder „Gruppe“. Ein reference
Feld, das die ID enthält.
Auf diese Weise können Sie einfach verlangen, dass beide nicht leer sind, und Sie können nur auf eine Post-ID oder eine Gruppen-ID verweisen.