2012-07-31 64 views
2

我正在建立一些應用程序,它連接到mysql數據庫。自動添加0到int字段 - mysql

在MySQL中讓我們說表test我有一個Integer域名爲myId

隨着我第一次插入到myId值「1」被添加,與我的第二次插入我添加值「20」。

現在我的問題是:是否有任何可能性,第二次插入後第一個值「1」將自動添加「0」。

這樣我就有了:

|myId| 
10 
20 

而且如果加「300」,所以到了兩個第一刀片將在未來加0?

|myId| 
100 
200 
300 
+0

像 「上插套身份識別碼=本身份識別碼* 10」? – 2012-07-31 13:23:40

+1

你可以編寫一個插入觸發器,檢查你的條件是否符合它,如果是,更新以前的值。 – mmdemirbas 2012-07-31 13:25:42

回答

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 ; 
1

只要做到這一點,當你選擇數據

set @max:=(select max(length(myId)) from your_table); 
SELECT myId * power(10, (@max - length(myId))) from table;