2

私はmysqlデータベースに接続されているいくつかのアプリケーションを構築しています。

mysql in let say tabletestには、 という整数フィールドがありmyIdます。

myId 値への最初の挿入で「1」が追加され、2 回目の挿入で値「20」が追加されます。

ここで私の質問は次のとおりです。2番目の挿入後に最初の値「1」に「0」が自動的に追加される可能性はありますか。

だから私は持っています:

|myId|
 10
 20

そして、「300」を追加すると、最初の2つの挿入に次の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 に答える