3

嗨,我有一个针对不同表的查询,并且它们都有不同的长度,这需要前导零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

4

3 回答 3

2

您可以使用LPAD函数在 SELECT 查询中执行此操作 -

SELECT LPAD(id, 4, 0) FROM table;

查询将显示这样的字符串 - '0001'

于 2012-06-08T06:55:17.223 回答
1
UPDATE table
SET field1 = LPAD(id, 3, 0)
于 2013-11-28T14:39:09.173 回答
0

我很确定我在您的问题中遗漏了一些东西,但是您没有调整查询,而是考虑了表结构中的 ZEROFILL 选项?

CREATE TABLE `test`.`TEST_LEADING_ZERO` (
    `ID` INTEGER UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (`ID`)
)
ENGINE = InnoDB;
于 2012-06-08T06:48:56.283 回答