Mysql
 sql >> база данни >  >> RDS >> Mysql

mysql вмъква празна дата, ако датата не е правилна

Можете да играете с sql_mode за да промените поведението как MySQL обработва невалидна дата.

Съгласно ръководството за MySQL , това се случва, когато въведете неправилна стойност за дата:

Така че се въвежда нулева стойност и всъщност получавате предупреждение за това. Можете да видите това с show warnings команда.

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

Можете да промените това поведение, за да съхранявате невалидна стойност, ако имате нужда (Ръководство за MySQL ):

Например, следното трябва да работи:

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

Или можете също да промените поведението на зареждане на данни или вмъкнете, за да съобщите за грешката:

Пример:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверите базата данни и в резултат да проверите радио бутон?

  2. SQL вмъкване в избор от множество полета

  3. Как да изберете определени полета в Laravel Eloquent?

  4. mysql - АКТУАЛИЗИРАНЕ на ред въз основа на други редове

  5. mysql съхранена процедура, която се извиква рекурсивно