嗨,我对不同的表有一个查询,它们都有不同的长度,这需要ID
的前导零。是否可以使用一个查询将前导零添加到任何表?
假设第一个查询是insert to tbl1_field1(CHAR 3) 001
,然后下一个查询是insert to tbl2_field2(CHAR 4) 0001
然后下一个是insert to tlb3_field3(CHAR 10) 0000000001
。我正在使用php and mysql
您可以使用 LPAD 函数在 SELECT 查询中执行此操作 -
SELECT LPAD(id, 4, 0) FROM table;
查询将显示如下字符串 - '0001'
。
UPDATE table
SET field1 = LPAD(id, 3, 0)
我很
确定我在你的问题中遗漏了一些东西,但你有没有调整查询,而是考虑过表格结构中的 ZEROFILL 选项?
CREATE TABLE `test`.`TEST_LEADING_ZERO` (
`ID` INTEGER UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`ID`)
)
ENGINE = InnoDB;