2

我正在尝试将值“006”添加到 MySql 行,但它显示为“6”!我的代码有什么修复吗?

$id = "006";

mysql_query("INSERT INTO Table (id) VALUES ($id) ");

谢谢,

4

5 回答 5

2

Ifid是一个数字列,例如整数,006与 相同,6因此无法显式保存006,因为它与6.

但是,如果您想将该整数检索为 3 位零填充字符串,则可以使用该LPAD函数0在左侧用 's 填充它:

SELECT LPAD(id, 3, '0') as id FROM table;
于 2013-04-07T21:23:39.420 回答
1

虽然这不是一种安全的方式:

$id = "006";

mysql_query("INSERT INTO Table (id) VALUES ('$id') ");

我认为您忘记了一些关于值的引号,因此将其转换为 int。

于 2013-04-07T21:26:17.490 回答
0

您的字段需要是 VARCHAR 才能按您的意愿工作。当您运行查询时,您也可以填充前导零作为替代方案。

于 2013-04-07T21:23:52.743 回答
0
  1. 我想这只是不正确的值(对于 int 字段类型)并且根本无法存储。
  2. 用于存储数据的数据库,是指没有任何附加格式的数据,可以在选择时添加。这就是这件事的一般运作方式。

所以,我建议存储一个常规的 int,并在选择时间用你希望的任意数量的零填充它

于 2013-04-07T21:24:26.490 回答
0

尝试在mysql中使用查询。

ALTER TABLE table MODIFY COLUMN id INT(3) ZEROFILL;

这可能会解决您的问题。

于 2018-02-28T07:21:10.683 回答