Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:如何在INSERT语句中包含第一位数字零_Php_Mysql_Sql - Fatal编程技术网

PHP:如何在INSERT语句中包含第一位数字零

PHP:如何在INSERT语句中包含第一位数字零,php,mysql,sql,Php,Mysql,Sql,我正在尝试插入第一个数字为零的数字 当我尝试添加前缀时000012345 它只会添加12345 当我尝试添加前缀时012345 它只会添加12345 我的数据类型是INT(11) 如果希望0作为前缀,请使用数据类型作为varchar(11)而不是int(11)。对于前导0的整数没有任何价值。在MySql中,如果知道最后的长度,您可以填充字段,因为列的长度是11,如果您需要在列的左侧用0填充,则可以使用LPAD函数,如: SELECT LPAD(12345, 11, '0') FROM table

我正在尝试插入第一个数字为零的数字

当我尝试添加前缀时000012345

它只会添加12345

当我尝试添加前缀时012345

它只会添加12345

我的数据类型是INT(11)


如果希望0作为前缀,请使用数据类型作为varchar(11)而不是int(11)。对于前导0的整数没有任何价值。

在MySql中,如果知道最后的长度,您可以填充字段,因为列的长度是11,如果您需要在列的左侧用0填充,则可以使用LPAD函数,如:

SELECT LPAD(12345, 11, '0') FROM tableName;

正如Somail和Hanky所建议的,要将initial保持为0,您应该将数据类型更改为varchar而不是int

但如果您想将数据类型保持为int,那么可以使用下面的方法-

只需将数据类型更改为“MYCOL INT ZEROFILL”

这样,如果在此列中插入1,则它将存储为0000000001,如果插入125,则存储为0000000125


但是,如果您坚持只使用自己的数字012345,那么就使用varchar。

将您的值与零连接起来。像
$value=“0”。$value
int
将忽略前面的
0
。尝试使用
varchar
并在value
str\u pad
中添加填充。是否可以将数据类型改为TEXT或varchar。。否则,对于小数值字符串,前导零将始终被删除
文本
?如果它实际上是一个数值,并且不需要存储前导零,并且只是为了显示,那么这永远不会是一个大的过量。有一个简单的检查来确定它是数字还是一个数字串:你是像
AVG(col)
col*10
那样使用它来计算的吗?电话号码是一串数字:)回答得很好+1.
SELECT LPAD(12345, 11, '0') FROM tableName;