当前位置: 首页 > 面试题库 >

如何在MySQL中为特定表自动增加2

荀裕
2023-03-14
问题内容

我有2个表order_retailer和order_customer

他们都有自动递增的主键order_id

为了使订单ID在整个系统中保持唯一,我希望order_retailer仅将ID作为偶数编号,对于order_customer而言,这些ID为奇数。为此,我必须将autoincrement的增量值设置为2。是否可以在mysql中将其设置为明智的表。

我不要PHP解决方案。请让我知道是否有一个命令/查询来将垂直表的自动增量移位设置为2。我也不想更改服务器变量auto_increment_increment或auto_increment_offset或任何其他服务器变量


问题答案:

不可以,不能将其明智地设置为表格。

Mysql有2个变量auto_increment_incrementauto_increment_offset
默认情况下这两个变量的值均为1。如果更改任何值,它将具有全局作用。

为了解决您的问题,请创建一个存储过程,该过程将根据需要获得偶数id。

请参考此链接http://dev.mysql.com/doc/refman/5.0/en/replication-options-
master.html#sysvar_auto_increment_increment

希望这可以帮助



 类似资料:
  • 问题内容: 我想从20000开始启动自动Incremenet 我怎么做?我可以编辑表格一些如何从20000开始递增吗? 问题答案: 另请参阅自动增量

  • 问题内容: 我正在尝试创建一个使用MySQL表存储条目的简单消息系统(PHP)页面。我将在表中使用的列的粗略概述为: msg_id (主键,auto_increment) user_id (指向创建消息的用户的外键) 时间 (提供味精时间戳记的DATETIME条目) msg (包含味精的VARCHAR) 可访问的 (仅是一个int(1),0表示除用户本人可以读取msg之外没有其他人,而1则意味着其

  • 问题内容: 如何使MySQL自动以4位数格式递增? 那么将“ 0001”代替“ 1”? 问题答案: 尝试将ZEROFILL属性添加到该字段。

  • 问题内容: 我正在尝试在mysql数据库中创建一列,该列自动递增1但从0-Z开始然后滚动。 例如000、001、002,…,009、00A,00B,…,00Z,010,…,0ZZ,…,100。 我想让数据库通过自动递增字段创建列。 我的想法是: 为从0到36的每个字符创建一列,然后将行N(其中N是最低有效数字)自动递增1。然后在每列上添加触发器,以在第N列达到36时向N-1列添加1 。 创建一个包

  • 你们能帮帮我吗,我的主键无法自动递增,我的表名是books,我想自动递增的列是serial_no,这是主键。 这是五月按钮,当我输入所有数据时,它将被提交到我的台本上 顺便说一句,我找到了另一种方法,抓取我的表并重建它,然后将代码放入create table脚本中 SERIAL_NOINTEGER默认AUTOINCREment:开始1增量1不是空主键

  • 问题内容: 想知道是否存在将新记录插入启用了主键的表中的简写版本?(即不必在查询中包括关键字列)假设关键字列称为ID,其他列为Fname,Lname和Website 问题答案: 使用DEFAULT关键字: 另外,您可以指定列(这是更好的做法): 参考: http://dev.mysql.com/doc/refman/5.6/zh-CN/data-type-defaults.html