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

通过选择结果更改AUTO_INCREMENT值

高嘉熙
2023-03-14
问题内容

基本上我想要的是以下代码的工作版本:

ALTER TABLE table_name
AUTO_INCREMENT =
(
    SELECT
        `AUTO_INCREMENT`
    FROM
        INFORMATION_SCHEMA.TABLES
    WHERE
        TABLE_SCHEMA = 'database_name'
    AND TABLE_NAME = 'another_table_name'
);

错误:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AUTO_INCREMENT =

原因:

根据MySQL Doc:

只要服务器运行,InnoDB就会使用内存中的自动增量计数器。如前所述,当服务器停止并重新启动时,InnoDB将为该表的第一个INSERT重新初始化每个表的计数器。

这意味着每当我重新启动服务器时,我的auto_increment值都将设置为最小。

我有一个叫的表ticket,另一个叫的表ticket_backup。他们两个都有id共享的列。ticket表格中的记录可用,并且可由客户声明。当他们要求时,ticket我将记录插入其中ticket_backup,然后从ticket表中删除它们。截至今天为止,我已经56 thousand在(里面ticket_backup)索取了票并且有0张票。如果我现在重新启动服务器并且不执行ALTER TABLE,那么我提供的第一个票证将id 1是已经被ID占用的票证ticket_backup,因此,如果我不解决自动递增值,则会导致重复键错误。我之所以希望在单个查询中执行此操作,是为了能够在服务器启动时轻松执行该查询。


问题答案:

试试这个:

SELECT `AUTO_INCREMENT` INTO @AutoInc
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'database_name' AND TABLE_NAME = 'another_table_name';

SET @s:=CONCAT('ALTER TABLE `database_name`.`table_name` AUTO_INCREMENT=', @AutoInc);
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;


 类似资料:
  • 问题内容: 每当我在应用程序中搜索时,都会显示正确的结果,但是当我点击搜索的单元格时,在执行搜索之前,它始终会播放表格的第一个索引。我试图在我的didselectcell中使用isSearching Bool,但似乎无法正常工作。 问题答案: 我认为问题在于您正在跟踪自己是否在搜索和操作源数据数组。 我有一个示例游乐场代码段,我已将其用于其他一些答案,该示例向您展示了如何更有效地执行此操作,并提供

  • 问题内容: 假设我有这种形式: 我目前正在使用此脚本提交表单,但这意味着需要刷新: 我想要做的是在 不 更改 页面的情况下 发送选择更改时的表单。我知道我必须使用AJAX来执行此操作,但是我无法确切地知道如何实现它。 您能指导我如何执行此操作吗? 谢谢你的帮助。 编辑: 考虑了评论之后,我得到了以下代码: HTML: JS: PHP的: 问题答案: 使跨浏览器事件和AJAX请求正常工作并非易事。我

  • http://www.django-rest-framework.org/api-guide/filtering/#filtering-abs-query-parameters http://www.django-rest-framework.org/api-guide/fields/#serializermethodfield

  • 我有一个CSV文件,如 我正在尝试使用函数将此文件读入数据库,如下所示 出于某种原因,我一直得到< code>SQL错误,指出列数不匹配。 该表是使用Hibernate / GORM创建的,并包含我尝试插入的字段。 select本身似乎可以工作,或者至少在单独执行时不会导致任何错误。我的说法有什么问题?

  • 问题内容: 我试图在事实发生后修改表使其成为主键列。我尝试了以下SQL,但收到语法错误通知。 我做错什么了吗? 问题答案:

  • 问题内容: 问题: 无法从CSS选择器特定元素中选择。需要验证注册用户是否可以成功更改其密码。我试过了类的不同属性来调用它。当尝试前两个示例时,结果是方法中的异常错误。最后的尝试将调用第一个类实例并重置密码字段(失败)。 尝试过: 目的: 我需要选择共享同一班级的项目。如下所示,该类是共享的。 问题答案: 编辑:因为选择器需要一个,或,但是它们本身都不是。 提供要匹配的类名,并从那里指定要选择的特