2011-02-18 66 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