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

mysql vloží prázdné datum, pokud datum není správné

Můžete hrát s sql_mode změnit chování, jakým MySQL zpracovává neplatné datum.

Podle příručky MySQL , k tomu dojde, když vložíte nesprávnou hodnotu data:

Vloží se tedy nulová hodnota a ve skutečnosti na to dostanete varování. Můžete to vidět pomocí show warnings příkaz.

insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected
show warnings
-- Warning  1264    Out of range value for column 'date' at row 1

Toto chování můžete změnit a uložit neplatnou hodnotu, pokud to potřebujete (Příručka MySQL ):

Například by mělo fungovat následující:

set @@sql_mode='allow_invalid_dates';
insert into TableName (`date`) values ('2015-02-29');
-- 1 row(s) affected

Nebo můžete také změnit chování načítání dat nebo vložte pro ohlášení chyby:

Příklad:

set @@sql_mode='traditional';
insert into TableName (`date`) values ('2015-02-29');
Error Code: 1292. Incorrect date value: '2015-02-29' for column 'date' at row 1



  1. Jak vypsat dočasnou tabulku MySQL do souboru?

  2. Rozdělte řetězec na řadu

  3. Jak nasadit distribuci Percona pro PostgreSQL pro vysokou dostupnost

  4. Jak extrahovat data json a vložit je do mysql php