自动将0添加到int字段 - mysql

时间:2012-07-31 13:18:05

标签: mysql

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

在mysql中,假设表test我有一个名为myId的整数字段。

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

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

所以我会:

|myId|
 10
 20

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

|myId|
 100
 200
 300

2 个答案:

答案 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 ;