Heim >Datenbank >MySQL-Tutorial >Warum funktionieren MySQL CHECK-Einschränkungen nicht und welche Alternativen gibt es?
MySQL CHECK-Einschränkungen: Ein falsches Versprechen
Beim Versuch, eine benutzerdefinierte CHECK-Einschränkung für eine MySQL-Tabelle zu definieren, kann es zu einem besonderen Problem kommen Da fragen Sie sich, warum Ihr Code fehlschlägt. Dieser Artikel beleuchtet dieses Rätsel und bietet alternative Lösungen.
Während Sie die CHECK-Einschränkung für die Statusspalte korrekt definiert und ihre Werte auf „a“, „d“ und „u“ begrenzt haben, löst MySQL aus ein Schraubenschlüssel im Werk. Obwohl CHECK-Einschränkungen in der Tabellendefinition vorhanden sind, werden sie in MySQL einfach nicht unterstützt. In der Dokumentation heißt es ausdrücklich, dass sie von allen Speicher-Engines analysiert, aber ignoriert werden.
Dieser Mangel an Unterstützung stellt Sie vor die mühsame Aufgabe, eine alternative Methode zur Durchsetzung der Datenintegrität für die Statusspalte zu finden. Eine Lösung besteht darin, Trigger zu verwenden, deren Komplexität jedoch überwältigend sein kann.
Wenn CHECK-Einschränkungen für Ihr Datenbankdesign unerlässlich sind, ziehen Sie PostgreSQL als praktikable Alternative in Betracht. Dieses Open-Source-RDBMS unterstützt vollständig CHECK-Einschränkungen und ist damit eine zuverlässigere Option zur Aufrechterhaltung der Datenkonsistenz.
Das obige ist der detaillierte Inhalt vonWarum funktionieren MySQL CHECK-Einschränkungen nicht und welche Alternativen gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!