sql >> Database >  >> RDS >> Mysql

Een beperking om het invoegen van een lege string in MySQL te voorkomen

Normaal gesproken zou u dat doen met de beperking CHECK:

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

Vóór versie 8.0 had MySQL beperkte ondersteuning voor beperkingen. Van MySQL-referentiehandleiding :

De CHECK-component wordt geparseerd maar genegeerd door alle storage-engines.

Als je je aan een oude versie moet houden, gebruik dan triggers als een tijdelijke oplossing, zoals mensen hebben opgemerkt.

In de toekomst wil je misschien een kijkje nemen op PostgreSQL , waarvan wordt aangenomen dat het betere ondersteuning biedt voor gegevensintegriteit (onder andere dingen ) door veel mensen .



  1. Equivalent van SQL Server aan Sleep():de WAITFOR-instructie

  2. Waarom houdt PostgreSQL niet van HOOFDLETTERS tabelnamen?

  3. 5 krachtige functies van Microsoft Access

  4. Meerdere versies van de database maken en implementeren via schema-snapshots