Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum erhalte ich keinen Fehler beim Festlegen einer größeren INT-Datentyplänge in MySQL?

Das M value wirkt sich nicht auf den Zahlenbereich aus, den Sie speichern können. Sie können die gleichen Zahlen in INT(1) speichern wie in INT(30) . Die Zahl betrifft nur den ZEROFILL Verhalten .

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>