Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kode Kesalahan MySQL:1411. Nilai datetime salah:'' untuk fungsi str_to_date

SQLException tidak datang langsung dari MySQL, mungkin dipicu oleh bahasa klien Anda. MySQL hanya akan menghasilkan peringatan yang biasanya dapat Anda abaikan. Apapun, ALLOW_INVALID_DATES Mode SQL harus benar-benar melakukan triknya:

Peringatan:

mysql> SET @@SESSION.sql_mode='NO_ZERO_DATE,NO_ZERO_IN_DATE';
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test (date_created) VALUES (str_to_date('','%m/%d/%Y'));
Query OK, 1 row affected, 1 warning (0.01 sec)

mysql> show warnings;
+---------+------+-------------------------------------------------------+
| Level   | Code | Message                                               |
+---------+------+-------------------------------------------------------+
| Warning | 1411 | Incorrect datetime value: '' for function str_to_date |
+---------+------+-------------------------------------------------------+
1 row in set (0.00 sec)

Tidak ada peringatan:

mysql> SET @@SESSION.sql_mode='ALLOW_INVALID_DATES';
Query OK, 0 rows affected (0.00 sec)

mysql> insert into test (date_created) VALUES (str_to_date('','%m/%d/%Y'));
Query OK, 1 row affected (0.03 sec)

Sunting: Jika Anda mencari cara untuk menulis ulang kueri, Anda dapat mencoba sesuatu seperti ini:

update atable 
set adate=NULL
where anum='1'

Tentu saja, ini memerlukan adate dapat dibatalkan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara meretas MySQL GROUP_CONCAT untuk mengambil sejumlah baris?

  2. Mengonversi kueri SQL kompleks ke SQLAlchemy

  3. INNER atau KIRI Menggabungkan Beberapa Catatan Tabel Menjadi Satu Baris

  4. Dapatkan semua objek tanpa loop di OOP MySQLi

  5. Apa perbedaan antara gabungan yang dipisahkan koma dan bergabung pada sintaks di MySQL?