根据最后一个idinserted更改自动增量值

时间:2014-07-01 13:46:03

标签: mysql sql

我正在尝试通过查询更改MySQL中的自动增量值

ALTER TABLE log_visit AUTO_INCREMENT = (
    SELECT `AUTO_INCREMENT` + 500000
    FROM  INFORMATION_SCHEMA.TABLES
    WHERE TABLE_SCHEMA = 'test'
        AND TABLE_NAME = 'visit'
);

但这个查询根本不起作用。

如果我们想根据最后插入的值更改自动增量,请告诉我需要做什么。

2 个答案:

答案 0 :(得分:1)

您收到SQL错误,这是因为该列未命名为“AUTO_INCREMENT”(并且您也无法在ALTER查询中执行选择)。原因是为什么因为AUTO_INCREMENT不是列,而是显然自动递增的MySQL属性。

如果您希望 AUTO_INCREMENT 以某个值开始,在本例中为500000,您需要像这样修改表格:

ALTER TABLE `yourtable` AUTO_INCREMENT=500000;

但是建议如果您要更改ID列,则应在创建表时执行此操作。

答案 1 :(得分:0)

您的语法不正确。

如果您查看文档,请明确说明: http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

此示例将auto_increment设置为从现在开始为100:

ALTER TABLE tbl AUTO_INCREMENT = 100;