MySQL-自动递增10
如何设置auto_increment列,使其在每次插入记录时递增10 例如:将默认的MySQL-自动递增10,mysql,default,auto-increment,Mysql,Default,Auto Increment,如何设置auto_increment列,使其在每次插入记录时递增10 例如:将默认的自动增量增加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 您必须更改设置,但这将同时应用于所有表。我不认为存在每表增量设置 不过,这通常不是一个好
自动增量
增加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
您必须更改设置,但这将同时应用于所有表。我不认为存在每表增量设置
不过,这通常不是一个好主意。您是否希望生成发票号码或其他信息?在这种情况下,最好使用生成下一个数字的自定义方法 您必须更改设置,但这将同时应用于所有表。我不认为存在每表增量设置
不过,这通常不是一个好主意。您是否希望生成发票号码或其他信息?在这种情况下,最好使用生成下一个数字的自定义方法 我不知道你为什么需要它,但如果你想在输出上得到这个结果,你可以简单地将值乘以10我不知道你为什么需要它,但是如果你想在输出上得到这个结果,你可以简单地将值乘以10你可以关闭自动增量,并添加一个触发器。使用单个值(下一个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 ;
您可以关闭自动增量,并添加触发器。使用单个值(下一个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 ;
如果你已经有了你的身份证,并且想将其放大10倍,那么按照纳扎里的想法,使用当前的身份证,并将其乘以10倍
更新xyourtablex集合id=id*10000
或者比您的ID更大的数字(如果不是,您将创建副本)
最后:
update xyourtablex set id=id/1000
或者简单地删除unique或INQUE,乘以10,再加上INQUE或unique:)如果你已经有了你的ID,并且想把它们放大10倍,那么按照纳扎里的想法,使用当前的ID,用
更新xyourtablex集合id=id*10000
或者比您的ID更大的数字(如果不是,您将创建副本)
最后:
update xyourtablex set id=id/1000
或者简单地删除unique或index,乘以10,再加上index或unique:)Nice。这需要什么mySQL版本?触发器需要5.0.2或更高版本。这需要什么mySQL版本?触发器需要5.0.2或更高版本。