Saltar al contenido

Advertencia: #1265 Datos truncados para la columna ‘pdd’ en la fila 1

Clara, parte de nuestro equipo de trabajo, nos hizo el favor de redactar este post ya que domina muy bien dicho tema.

Solución:

Como dice el mensaje de error, debe aumentar la longitud de su columna para que se ajuste a la longitud de los datos que está tratando de insertar (0000-00-00)

EDITAR 1:

Siguiendo tu comentario, ejecuto una tabla de prueba:

mysql> create table testDate(id int(2) not null auto_increment, pdd date default null, primary key(id));
Query OK, 0 rows affected (0.20 sec)

Inserción:

mysql> insert into testDate values(1,'0000-00-00');
Query OK, 1 row affected (0.06 sec)

EDITAR 2:

Entonces, aparentemente desea insertar un valor NULL para pdd campo como dice su comentario? Puedes hacerlo de 2 maneras como esta:

Método 1:

mysql> insert into testDate values(2,'');
Query OK, 1 row affected, 1 warning (0.06 sec)

Método 2:

mysql> insert into testDate values(3,NULL);
Query OK, 1 row affected (0.07 sec)

EDITAR 3:

No pudo cambiar el valor predeterminado de pdd campo. Aquí está la sintaxis de cómo hacerlo (en mi caso, lo configuré en NULL al principio, ahora lo cambiaré a NOT NULL)

mysql> alter table testDate modify pdd date not null;
Query OK, 3 rows affected, 1 warning (0.60 sec)
Records: 3  Duplicates: 0  Warnings: 1

Lo más probable es que esté empujando un string'NULL' a la mesa, en lugar de un verdadero NULLpero también pueden estar sucediendo otras cosas, una ilustración:

mysql> CREATE TABLE date_test (pdd DATE NOT NULL);
Query OK, 0 rows affected (0.11 sec)

mysql> INSERT INTO date_test VALUES (NULL);
ERROR 1048 (23000): Column 'pdd' cannot be null
mysql> INSERT INTO date_test VALUES ('NULL');
Query OK, 1 row affected, 1 warning (0.05 sec)

mysql> show warnings;
+---------+------+------------------------------------------+
| Level   | Code | Message                                  |
+---------+------+------------------------------------------+
| Warning | 1265 | Data truncated for column 'pdd' at row 1 |
+---------+------+------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT * FROM date_test;
+------------+
| pdd        |
+------------+
| 0000-00-00 |
+------------+
1 row in set (0.00 sec)

mysql> ALTER TABLE date_test MODIFY COLUMN pdd DATE NULL;
Query OK, 1 row affected (0.15 sec)
Records: 1  Duplicates: 0  Warnings: 0

mysql> INSERT INTO date_test VALUES (NULL);
Query OK, 1 row affected (0.06 sec)

mysql> SELECT * FROM date_test;
+------------+
| pdd        |
+------------+
| 0000-00-00 |
| NULL       |
+------------+
2 rows in set (0.00 sec)

Agradecemos que quieras añadir valor a nuestro contenido tributando tu veteranía en las críticas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *