2011-02-18 70 views
1

如何設置auto_increment列,使其每個記錄插入的增量爲10。MySQL - Auto_increment除以10

對於如:而不是默認auto_increment由1,

insert into temptable (name) values('abc'),('def'); 

select * from temptable; 
    id|name 
    1|abc 
    2|def 

auto_increment by 10, 
    id|name 
    10|abc 
    20|def 

回答

2

你將不得不改變auto_increment_increment設定,然而這將適用於所有表一次。我不認爲有一個每桌增量設置。不過,這通常不是一個好主意。您是否想要生成發票號碼或什麼?在這種情況下,使用生成下一個數字的自定義方法可能會更好。

1

我不知道爲什麼你需要的,但如果你想有這樣的結果輸出,你可以簡單地通過10

+0

根據使用的情況下,這可能是做 – 2011-02-18 21:16:17

1

值乘以你可以關掉AUTO_INCREMENT,並添加觸發器。建立另一個表相同的值,下一個ID,然後插入行的ID設置爲表的值:

CREATE TABLE next (next_id int not null); 
INSERT INTO next VALUES(0); 

delimiter | 

CREATE TRIGGER update_id BEFORE INSERT ON temptable 
    FOR EACH ROW BEGIN 
    SET NEW.id = (SELECT next_id FROM next); 
    UPDATE next SET next_id = next_id + 10; 
    END; 
| 
delimiter ; 
+0

一個好辦法尼斯。這需要什麼mySQL版本? – 2011-02-18 21:15:26