【发布时间】:2012-10-25 07:30:55
【问题描述】:
我有一个 perl 脚本,它从文本文件中读取行并插入到数据库中。
示例文本文件可能如下所示
country zipcode
------------------
India 712501
India 00032
其中第一行是列名,行表示列值。它以 EAV 格式存储,列名和列值都为 VARCHAR。
现在对于 zipcode 00032,perl 脚本将其视为 Integer 并且插入查询正在变为 INSERT VALUES('India',00032) //引用没有出现,因为 perl 将其视为字符串 所以在插入时插入 India 32(将其视为整数)
那么我可以强制将其设为字符串,以便 perl 模块将 VALUES('India','00032') 改为吗??
【问题讨论】:
-
那么,为什么不在 SQL 查询中添加引号呢?显示您正在使用的代码的相关部分!
-
您是否尝试在“00032”周围加上引号?
-
我也预料到了。我做了一个 "'"."$value"."'";但后来它正在做'''00032'''。我做错了吗??
-
为什么不这样:
$str = "VALUES ('$country', '$code')";。但是,如果您显示您的代码,则更好的是,您可能希望使用prepare进行 SQL 查询。
标签: database string perl casting integer