sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué no recibo un error al establecer una longitud de tipo de datos INT más grande en MySQL?

El M El valor no afecta el rango de números que puede almacenar. Puede guardar los mismos números en INT(1) como en INT(30) . El número solo afecta el ZEROFILL comportamiento .

mysql> CREATE TEMPORARY TABLE foobar(x INT(40) ZEROFILL);
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO foobar(x) VALUES (42);
Query OK, 1 row affected (0.00 sec)

mysql> SELECT * FROM foobar;
+------------------------------------------+
| x                                        |
+------------------------------------------+
| 0000000000000000000000000000000000000042 |
+------------------------------------------+
1 row in set (0.00 sec)

mysql>