sql >> Database teknologi >  >> RDS >> Mysql

En begrænsning for at forhindre indsættelse af en tom streng i MySQL

Normalt ville du gøre det med CHECK-begrænsning:

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

Før version 8.0 havde MySQL begrænset understøttelse af begrænsninger. Fra MySQL Reference Manual :

CHECK-sætningen analyseres, men ignoreres af alle lagerenheder.

Hvis du skal holde dig til en gammel version, skal du bruge triggere som en løsning, som folk har påpeget.

I fremtiden vil du måske tage et kig på PostgreSQL , som anses for at have bedre understøttelse af dataintegritet (blandt andre ting ) af mange mennesker .



  1. Versionering af SQL Server-database

  2. Gendan dump på fjernmaskinen

  3. SQL Server bruger høj CPU, når der søges i nvarchar-strenge

  4. Hvordan man laver et valg med array indeholder værdisætning i psql