我正在构建一些连接到mysql数据库的应用程序。
在mysql中,假设表test
我有一个名为myId
的整数字段。
我第一次插入myId值时,“1”被添加,第二次插入时我正在添加值“20”。
现在我的问题是:有没有可能,第二次插入后第一个值“1”将自动添加为“0”。
所以我会:
|myId|
10
20
如果添加“300”,那么下一个0将添加两个第一个插入?
|myId|
100
200
300
答案 0 :(得分:1)
选择数据时只需执行此操作
set @max:=(select max(length(myId)) from your_table);
SELECT myId * power(10, (@max - length(myId))) from table;
答案 1 :(得分: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 ;