我一直遇到MySQL改变数值数据的问题。它在表单提交和输出到Excel时发生。像这个911001001235848这样的身份证件号码像这样9.1100100123585E + 14。有关正在发生的事情的任何建议吗?
答案 0 :(得分:3)
根据Microsoft的文档,您应确保包含12位或更多位数字的数字值为string
类型,并以撇号为前缀以保留原始值。以下是上述示例,其后是其支持文档。
"personId","personName","randomNumber"
1,"John Doe","'911001001235848"
2,"Jane Doe","'848532100100911"
请注意,“randomNumber”列值是双引号并带有撇号前缀。
Text or number converted to unintended number format in Excel
答案 1 :(得分:0)
用户输入序列的存在和最后一个,脚本填充其间的数字。这是我用来将数字输入MySQL的PHP脚本,它只输入第一个数字,然后输入乱码数字秒。小数字效果很好,但我需要输入15位数字。
$date = date("m-d-Y");
$nstart=$_REQUEST['startid'];
$nend = $_REQUEST['endid'];
$doc = $_REQUEST['doc'];
$phone = $_REQUEST['phone'];
for ($i = $nstart; $i <= $nend; $i++)
{
$query = "INSERT INTO petdb (doc,phone, userid, reg_date) VALUES ('$doc','$phone',' $i', '$date')";
mysql_query($query, $con);
}
mysql_close();