在设置表中的varchar字段中前导零

时间:2017-09-03 11:12:16

标签: php mysql sql

在我的数据库中,我有一个名为settings的表。它有两列,namevalue

我正在尝试插入电话号码,例如0612345678

它不断删除前导零(结果612345678)。

我使用$value = strval($value);来确保PHP将值作为字符串传递(我可以确认,可以使用)。

这是MySQL默认设置还是可以修复此问题?

2 个答案:

答案 0 :(得分:0)

如果你想保持前导零,你需要将值存储在一个字符串列中(我猜这是一个整数现在在PHP或MySQL中)。

另一种选择是在选择时添加数字(不推荐)

SELECT LPAD( Column, <lengthOfOriginalNumber>, '0')

答案 1 :(得分:0)

看起来phpMySQL正在将电话号码转换为number,因此会删除前导零。

  • 如果是php,那么您可以使用strval函数来获取String值(解释为here)。此外,您可以尝试在将值发送到MySQL之前打印该值,以便在转换后查看结果。

  • 如果是MySQL,那么您需要将列类型更改为varchar,例如:

    ALTER TABLE table MODIFY phone_number VARCHAR(20);