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

Bagaimana cara memperbaiki kode kesalahan MySQL 8:1525 dan 1292?

Kejahatan yang lebih kecil mungkin untuk mengubah mode SQL seluruh sesi untuk skrip migrasi dan aplikasi yang terpengaruh—yang seharusnya merupakan perubahan satu kali yang sederhana (selama kode koneksi tidak disalin+ditempel di seratus tempat). Mode yang memungkinkan tanggal tidak valid adalah ALLOW_INVALID_DATES :

SET @@SESSION.sql_mode = CONCAT_WS(',', @@SESSION.sql_mode, 'ALLOW_INVALID_DATES');

demo lengkap :

mysql> CREATE TABLE foo (bar DATE);
Query OK, 0 rows affected (0.03 sec)

mysql> SELECT @@SESSION.sql_mode;
+--------------------------------------------+
| @@SESSION.sql_mode                         |
+--------------------------------------------+
| STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
+--------------------------------------------+
1 row in set (0.00 sec)

mysql> INSERT INTO foo (bar) VALUES ('2019-02-30');
ERROR 1292 (22007): Incorrect date value: '2019-02-30' for column 'bar' at row 1
mysql> SET @@SESSION.sql_mode = CONCAT_WS(',', @@SESSION.sql_mode, 'ALLOW_INVALID_DATES');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> INSERT INTO foo (bar) VALUES ('2019-02-30');
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM foo;
+------------+
| bar        |
+------------+
| 2019-02-30 |
+------------+
1 row in set (0.00 sec)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hibernate JPA, MySQL dan TinyInt(1) untuk Boolean alih-alih bit atau char

  2. Masukkan data ke dalam beberapa tabel menggunakan satu formulir

  3. Bagaimana menyiasati pembuatan skema Slick 3.0 mendapatkan kesalahan karena spesifikasi utama tanpa panjang

  4. Kesalahan penguraian data org.json.jsonexception akhir input pada karakter 0

  5. Untuk menjalankan .sql -file di MySQL