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

Hvordan kræver jeg et mysql-felt?

Som standard accepterer MySQL ugyldige værdier. Du kan indstille MySQL til streng tilstand for at fremtvinge gyldige værdier. Dette vil afvise en forespørgsel, der ikke giver en værdi for en IKKE NULL-kolonne, samt håndhæve integritet på alle typer kolonner.

Opdatering: MySQL 5.7 og nyere har nu streng tilstand aktiveret som standard. Så det ville ikke acceptere ugyldige værdier som standard som tidligere versioner.

http://dev.mysql .com/doc/refman/5.0/en/sql-mode.html#sql-mode-important

http://dev.mysql.com/doc /refman/5.0/da/sql-mode.html#sqlmode_strict_all_tables

Edit:@Barranka og @RocketHazmat kom med gode pointer i kommentarerne. '' er ikke det samme som null, så MySQL tillader det i en NOT NULL-kolonne. I det tilfælde skal du ty til din kode eller en trigger.

I koden (f.eks. PHP) kunne dette være nemt nok, at køre noget som:

if (!strlen($value)) { 
    // Exclude value or use NULL in query
}


  1. Ser på Database Snapshot Performance

  2. Sådan får du adgang til MySQL med MySQL-rodbrugeren

  3. Undersøg kontrolkilden for alle kontroller i dit MS Access-projekt

  4. Postgres ENUM datatype eller CHECK CONSTRAINT?