2

我正在构建一些应用程序,它连接到 mysql 数据库。

在 mysql 中的 let say 表中test,我有一个 Integer 字段,名为myId.

我的第一次插入 myId 值“1”被添加,第二次插入我添加值“20”。

现在我的问题是:有没有可能,第二次插入后的第一个值“1”将自动添加“0”。

所以我会有:

|myId|
 10
 20

如果添加“300”,那么前两个插入将添加下一个 0 ?

|myId|
 100
 200
 300
4

2 回答 2

1

只需在选择数据时执行此操作

set @max:=(select max(length(myId)) from your_table);
SELECT myId * power(10, (@max - length(myId))) from table;
于 2012-07-31T13:36:25.153 回答
0

未经证实:

delimiter |
CREATE TRIGGER upd_entries AFTER INSERT ON your_table
FOR EACH ROW 
BEGIN 
     update your_table 
     set myId = myId * power(10, ((select * from (select max(length(myId)) from your_table)) - length(myId)));
END;
|
delimiter ;
于 2012-07-31T13:26:32.803 回答