sql >> Databasteknik >  >> RDS >> Mysql

Hur kräver jag ett mysql-fält?

Som standard accepterar MySQL ogiltiga värden. Du kan ställa in MySQL till strikt läge för att tvinga fram giltiga värden. Detta kommer att avvisa en fråga som inte tillhandahåller ett värde för en NOT NULL-kolumn, samt upprätthålla integritet på alla typer av kolumner.

Uppdatering: MySQL 5.7 och senare har nu strikt läge på som standard. Så det skulle inte acceptera ogiltiga värden som standard som tidigare versioner.

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

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

Edit:@Barranka och @RocketHazmat gjorde bra poäng i kommentarerna. '' är inte detsamma som null, så MySQL tillåter det i en NOT NULL-kolumn. I det fallet måste du tillgripa din kod eller en trigger.

I koden (PHP till exempel) kan detta vara enkelt nog att köra något som:

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


  1. Förhindra dubbletter av SQL-poster

  2. Snabb delad partitionering

  3. Det gick inte att ladda filen eller sammansättningen 'MySql.Data, Version=6.2.2.0

  4. Infoga lista i min databas med Python