13、MySQL-無符號(UNSIGNED)和零填充(ZEROFILL)
阿新 • • 發佈:2019-01-28
mysql> CREATE TABLE IF NOT EXISTS testNUM(
-> -- 預設為有符號
-> num1 TINYINT,
-> num2 TINYINT UNSIGNED,
-> num3 INT,
-> num4 INT ZEROFILL,
-> num5 INT UNSIGNED ZEROFILL
-> );
Query OK, 0 rows affected (0.08 sec)
mysql> INSERT testNUM(num1,num2) VALUES(-5,-5);
ERROR 1264 (22003): Out of range value for column 'num2' at row 1
mysql> INSERT testNUM(num3,num4) VALUES(123,123);
mysql> INSERT testNUM VALUES(0,0,0,0,0);
mysql> INSERT testNUM(num3,num4,num5) VALUES(123,123,123);
mysql> SELECT * FROM testNUM;
+------+------+------+------------+------------+
| num1 | num2 | num3 | num4 | num5 |
+------+------+------+------------+------------+
| NULL | NULL | 123 | 0000000123 | NULL |
| 0 | 0 | 0 | 0000000000 | 0000000000 |
| NULL | NULL | 123 | 0000000123 | 0000000123 |
+------+------+------+------------+------------+
-> -- 預設為有符號
-> num1 TINYINT,
-> num2 TINYINT UNSIGNED,
-> num3 INT,
-> num4 INT ZEROFILL,
-> num5 INT UNSIGNED ZEROFILL
-> );
Query OK, 0 rows affected (0.08 sec)
mysql> INSERT testNUM(num1,num2) VALUES(-5,-5);
ERROR 1264 (22003): Out of range value for column 'num2' at row 1
mysql> INSERT testNUM(num3,num4) VALUES(123,123);
mysql> INSERT testNUM VALUES(0,0,0,0,0);
mysql> INSERT testNUM(num3,num4,num5) VALUES(123,123,123);
mysql> SELECT * FROM testNUM;
+------+------+------+------------+------------+
| num1 | num2 | num3 | num4 | num5 |
+------+------+------+------------+------------+
| NULL | NULL | 123 | 0000000123 | NULL |
| 0 | 0 | 0 | 0000000000 | 0000000000 |
| NULL | NULL | 123 | 0000000123 | 0000000123 |
+------+------+------+------------+------------+