3

こんにちは、私は異なるテーブルに対して 1 つのクエリを持っていますが、それらはすべて長さが異なり、ID. 任意のテーブルに先行ゼロを追加する 1 つのクエリを使用することは可能ですか?

最初のクエリが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 に答える