如何在 mysql 中将前导零添加到不同的字符长度


How to add leading zero to different char length in mysql?

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