sql >> Databáze >  >> RDS >> Mysql

Jak mohu vyžadovat pole mysql?

Ve výchozím nastavení MySQL přijímá neplatné hodnoty. Můžete nastavit MySQL na přísný režim, abyste vynutili platné hodnoty. To odmítne dotaz, který neposkytuje hodnotu pro sloupec NOT NULL, a zároveň vynutí integritu u všech typů sloupců.

Aktualizace: MySQL 5.7 a vyšší mají nyní ve výchozím nastavení zapnutý přísný režim. Ve výchozím nastavení by tedy nepřijímal neplatné hodnoty jako předchozí verze.

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

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

Edit:@Barranka a @RocketHazmat udělali dobré body v komentářích. '' není totéž jako null, takže MySQL to umožní ve sloupci NOT NULL. V takovém případě byste se museli uchýlit ke svému kódu nebo spouštěči.

V kódu (například PHP) by to mohlo být snadné, spustit něco jako:

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


  1. Je lepší používat více databází s jedním schématem, nebo jednu databázi s více schématy?

  2. Jak používat příkaz GO na serveru SQL k vkládání záznamů do sloupce identity - SQL Server / Výukový program T-SQL, část 42

  3. Jak změnit max_allowed_packet size

  4. Mysql vyberte rekurzivní získat všechny dítě s více úrovněmi