Php MySQL加载数据正在删除varchar字段中的前导零

Php MySQL加载数据正在删除varchar字段中的前导零,php,mysql,csv,Php,Mysql,Csv,我有一个数据导入例程,它接受CSV文件,其中第一列包含字符数据集,由0123、0517、1531等格式的ID值组成。通常是4位数字,3位数字上有一个前导零 使用varchar(255)字段将数据加载到表中,但当我调用LOAD data命令时,所有数据都在导入时没有前导零。这里有我遗漏的东西吗 db_query('CREATE TABLE feed_buildings ( BLDGID varchar(255), BLDGNAME varchar(255), CITY varchar(

我有一个数据导入例程,它接受CSV文件,其中第一列包含字符数据集,由0123、0517、1531等格式的ID值组成。通常是4位数字,3位数字上有一个前导零

使用varchar(255)字段将数据加载到表中,但当我调用LOAD data命令时,所有数据都在导入时没有前导零。这里有我遗漏的东西吗

db_query('CREATE TABLE feed_buildings (
  BLDGID varchar(255),
  BLDGNAME varchar(255),
  CITY varchar(255),
  STATE varchar(255),
  ZIPCODE varchar(255),
  LLRDID varchar(255),
  BLDGGLA varchar(255),
  ADDRESS1 varchar(255),
  ADDRESS2 varchar(255),
  NMBRUNIT varchar(255),
  MNGRID varchar(255),
  INACTIVE varchar(255),
  OCCGLA varchar(255) )', false, false);
在本例中,当我运行以下命令时,BLDGID字段将丢失其前导零:

$loadfields = ' ( BLDGID, BLDGNAME, CITY, STATE, ZIPCODE, LLRDID, @ignore, BLDGGLA, @ignore, ADDRESS1, 
  ADDRESS2, @ignore, @ignore, NMBRUNIT, MNGRID, @ignore, @ignore, @ignore, @ignore, @ignore, 
  @ignore, @ignore, @ignore, @ignore, @ignore, @ignore, @ignore, @ignore, INACTIVE, @ignore, 
  @ignore, @ignore, @ignore, @ignore, @ignore, OCCGLA )';

$loadquery = 'LOAD DATA LOCAL INFILE \'' . $path . '\' INTO TABLE feed_buildings . ' FIELDS TERMINATED BY \',\' ENCLOSED BY \'"\' LINES TERMINATED BY \'\r\n\' IGNORE 1 LINES';
db_query_unprepared($loadquery . $loadfields);

提前感谢您的帮助

忽略--我不确定前几次是如何发生的,但最后几次导入正确。

您确定csv文件中有零吗?如果要存储4位数字,为什么要使用varchar255?是的,我仔细检查了一下。如果我在记事本中打开CSV,我会看到零。这只是一个临时表,然后我对它进行操作,将其与主表合并,因此为了简单起见,我使所有列都相同。