Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL-自动递增10_Mysql_Default_Auto Increment - Fatal编程技术网

MySQL-自动递增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 您必须更改设置,但这将同时应用于所有表。我不认为存在每表增量设置 不过,这通常不是一个好

如何设置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

您必须更改设置,但这将同时应用于所有表。我不认为存在每表增量设置


不过,这通常不是一个好主意。您是否希望生成发票号码或其他信息?在这种情况下,最好使用生成下一个数字的自定义方法

您必须更改设置,但这将同时应用于所有表。我不认为存在每表增量设置


不过,这通常不是一个好主意。您是否希望生成发票号码或其他信息?在这种情况下,最好使用生成下一个数字的自定义方法

我不知道你为什么需要它,但如果你想在输出上得到这个结果,你可以简单地将值乘以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或更高版本。