我需要在mysqldatabase中存储一个+90位的数字。
我无法弄清楚该表的类型,以及是否应该应用其他属性。
示例号码:00004219087128907490128309172409712089378174801278903710874y8012780731
重要的是,前导零保留在数据库中。
提前致谢!
答案 0 :(得分:1)
将列数据类型设置为varchar(100)
VARCHAR列中的值是可变长度字符串。长度可以指定为0到65,535之间的值。 VARCHAR的有效最大长度取决于最大行大小(65,535字节,在所有列之间共享)和使用的字符集
答案 1 :(得分:0)
使用varchar(90)
作为该字段的类型。
表定义示例(适用于MySQL):
CREATE TABLE myTable (
id int auto_increment primary key,
my_big_number varchar(90)
);
答案 2 :(得分:0)
您需要varchar
数据类型来存储冗长的数字 - 字符串。
但是你应该知道SQL语句需要遵循 string 特定的语法。也就是说,用单引号括起任何值,数字,日期或其他值。的 'num or date here'
即可。这样该值被视为字符串。
在您的情况下,您似乎没有引号输入000011
号码。因此MySQL隐式地将其解释为数字并删除前导零。
mysql> select 000011, '000011';
+--------+--------+
| 000011 | 000011 |
+--------+--------+
| 11 | 000011 |
+--------+--------+
1 row in set (0.00 sec)
关注INSERT
示例也应该对您有所帮助。
mysql> insert into vc_num( vn ) values (000011), ( '000011' );
Query OK, 2 rows affected (0.08 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> select * from vc_num;
+--------+
| vn |
+--------+
| 11 |
| 000011 |
+--------+