sql >> Databasteknik >  >> RDS >> Mysql

En begränsning för att förhindra att en tom sträng infogas i MySQL

Normalt skulle du göra det med CHECK-begränsning:

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

Före version 8.0 hade MySQL begränsat stöd för begränsningar. Från MySQL Reference Manual :

CHECK-satsen tolkas men ignoreras av alla lagringsmotorer.

Om du måste hålla dig till en gammal version, använd triggers som en lösning, som folk har påpekat.

I framtiden kanske du vill ta en titt på PostgreSQL , som anses ha bättre stöd för dataintegritet (bland andra saker ) av många människor .



  1. Hybrid molnreplikering för MySQL för hög tillgänglighet

  2. GI 19c RPM Package Manager Database

  3. Hur kan jag infoga data i SQL Server med VBNet

  4. Hur får jag SQLSRV-tillägget att fungera med PHP, eftersom MSSQL är utfasat?