Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi je n'obtiens pas d'erreur lors de la définition d'une longueur de type de données INT plus grande dans MySQL ?

Le M La valeur n'affecte pas la plage de nombres que vous pouvez stocker. Vous pouvez enregistrer les mêmes numéros dans INT(1) comme dans INT(30) . Le nombre n'affecte que le ZEROFILL comportement .

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>