第一个0消失?

Posted

技术标签:

【中文标题】第一个0消失?【英文标题】:First 0 disappearing? 【发布时间】:2013-08-16 16:46:43 【问题描述】:

例如,我如何告诉 phpmyadmin、mysql 允许电话号码前的第一个 0? (不是零填充)

当我尝试在它前面放一个零时(在 phpmyadmin 中),它会自动删除它。 当我提交表单编号时,在编号前面指定了 0,它不会添加它。

有什么解决方法吗?

【问题讨论】:

表格中的列类型是什么? 可能您使用的是整数类型而不是字符串,或者格式已关闭。 列类型为整数 使用VARCHARCHAR 而不是INT。整数数据类型将修剪前导零,不适用于电话号码。 如何将电话号码存储在数字字段中?不。一些电话号码的长度为 12-18 位,包含重要的分机信息。 【参考方案1】:

mysql 中的INT 数据类型就是这样存储的,一个整数。正如您对任何编程语言中的整数数据类型所期望的那样,数据库引擎会删除所有前导零并舍入所有小数点,使其不适合存储电话号码。

如果电话号码中的位数始终相同,请改用数据类型CHAR(length),或者如果不使用数据类型VARCHAR(max_length)。这些将存储输入的确切值而不是整数值。

【讨论】:

【参考方案2】:

当存储前面可能有 0 的数字时,请使用 VARCHARCHAR 数据类型。电话号码、邮政编码、产品 SKU 是应始终使用非数字变量类型的主要示例。

【讨论】:

【参考方案3】:

使用mysql时,php不要这样放你的字符串:

mysql_query("UPDATE bids SET time_off = ".$editend." WHERE id = '" . $editbid_id . "'");

您的 var 周围没有单引号(这是一个字符串编号)。这样做:

mysql_query("UPDATE bids SET time_off = '".$editend."' WHERE id = '" . $editbid_id . "'");

换句话说,请确保将其放入数据库的 var 周围有引号,否则即使您的字段是字符串值,它也会将其视为数值并删除前导 0。

【讨论】:

【参考方案4】:

或者,您可以将 PHONE 保留为“int”格式,并在选择时添加前导零。

像这样:

select right('0000000000'+convert(varchar(10), PHONE), 10)

--如果您的电话号码多于10位,则相应调整

【讨论】:

以上是关于第一个0消失?的主要内容,如果未能解决你的问题,请参考以下文章

多个modal重叠,导致modal滚动条消失

左右点击效果,并且最后一个的时候按钮变灰或者消失

当按下按钮或视图迅速消失时

安卓/数据库。知道为啥电话号码中的第一个字符“+”会消失吗?

Mocha MongoDB Mongoose ObjectId ref 在第一个“it”语句后消失

UICollectionView 单元格在几秒钟后消失或在点击屏幕时消失