Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Eine Einschränkung, um das Einfügen einer leeren Zeichenfolge in MySQL zu verhindern

Normalerweise würden Sie das mit der CHECK-Einschränkung machen:

foo_test VARCHAR(50) NOT NULL CHECK (foo_test <> '')

Vor Version 8.0 hatte MySQL eingeschränkte Unterstützung für Constraints. Aus dem MySQL-Referenzhandbuch :

Die CHECK-Klausel wird analysiert, aber von allen Speicher-Engines ignoriert.

Wenn Sie bei einer alten Version bleiben müssen, verwenden Sie Trigger als Problemumgehung, wie die Leute darauf hingewiesen haben.

In Zukunft möchten Sie vielleicht einen Blick auf PostgreSQL werfen , von dem angenommen wird, dass es die Datenintegrität besser unterstützt (unter ). andere Dinge ) von vielen Leuten .