Error SQLSTATE [ 22007] Invalid datetime format 1366 Incorrect Integer Value

Error SQLSTATE [ 22007] Invalid datetime format 1366 Incorrect Integer Value

Jika dilihat sepintas mungkin erorr SQLSTATE [ 22007] Invalid datetime format 1366 terlihat seperti memberitahu kita bahwa ada kesalahan format tanggal waktu tetapi sebenarnya error ini terjadi karena adanya ketidaksesuaian antara tipe data di database dengan data yang ditambahkannya.


Misalnya sebuah tipe data integer/numerik di inputkan sebuah data non numerik maka yang terjadi adalah error seperti berikut


MariaDB [root93]> CREATE TABLE testint (id INT(11),name VARCHAR(25));
Query OK, 0 rows affected (0.245 sec)

MariaDB [root93]> DESC testint;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | YES  |     | NULL    |       |
| name  | varchar(25) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.024 sec)

MariaDB [root93]> INSERT INTO testint(id,name) VALUES('general','INT');
ERROR 1366 (22007): Incorrect integer value: 'general' for column `root93`.`testint`.`id` at row 1



Tapi disini error yang dihasilkan pada console dengan error yang ditampilkan pada web berbeda, karena pada web, error menampilkan awalan invalid datetime format tapi pada console tidak ada awalan tersebut dan langsung mengatakan ada kesalahan pada nilai integer (integer incorrect value). Namun hal tersebut tetntunya tidak perlu dipikirkan karena yang perlu dilihat adalah kode error yang dihasilkan baik yang dilakukan pada console test dengan error seperti pada gambar diatas itu sama


Dalam contoh kasus Error SQLSTATE [ 22007] Invalid datetime format 1366 Incorrect Integer Value ini yang saya alami adalah ketika saya mengimport file excel atau format XLS menggunakan Excel Reader2 (di Ubuntu) dimana format di xls sudah jelas berisi angka – angka tetapi karena saya menambah dan merubah data – data dengan Libre Calc formatnya seperti berubah menjadi ‘General’ padahal yang terlihat adalah angka/numerik, sehingga alhasil pada saat di import filenya menjadi error


Jadi kesimpulannya adalah bahwa error ini menjelaskan adanya ketidaksesuaian antara tipe data pada database dengan data yang akan ditambahkannya.

0 Response to "Error SQLSTATE [ 22007] Invalid datetime format 1366 Incorrect Integer Value"

Post a Comment

Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin