根据之前的自动增量值

时间:2019-05-07 05:05:14

标签: mysql

当我从mysql表中删除一条记录并在那个地方插入新记录时,它会将自动增量列值设置为我最后一次插入的下一个,这是意外的

我在许多网站上用谷歌搜索,但没有得到我想要的确切结果 我还尝试通过如下设置last_inserted_id()+ 1:

Alter table t1 auto_increment = last_insert_id() + 1;

但是显示错误

我要在上一条记录的自动增量值旁边设置该值,

请帮助, 谢谢。

1 个答案:

答案 0 :(得分:1)

为什么要这样做?自动递增列的协定并不表示struct A { int a; A(int a_) : a(a_) {} }; struct B : virtual A { int b; B(int a_, int b_) : A(a_), b(b_) {} protected: // The A initialization will never get called B(int b_) : A(0), b(b_) {} }; struct C : virtual A { C(int a_) : A(a_) {} protected: // This initialization will never get called C() : A(0) {} }; struct D : B , C { D(int a_, int b_) : A(a_), B(b_) , C() {} }; 将始终跟随下一个顺序值。它只是说它将永远是唯一的,并且通常会不断增加。

如果要生成序列,请使用类似.cpp(在MySQL 8+版本中):

#include <stdio.h>
int main()
{
    int arr[10]= {0};
    int a = 0,b = 0;
    scanf("%d %d",&a,&b);
    arr[0] = a;
    arr[1] = b;
    for (int i = 0; i <10; i++) {
        arr[i+2]=arr[i]+arr[i+1];
        if(arr[i] > 10)
            arr[i] = arr[i] % 10;

        printf("%d ",arr[i]);
    }
}

或者,在早期版本的MySQL中,使用用户变量:

String t = "C:/clearpath/rafa.jpg";
t = t.substring(0, 3) + t.substring(12, t.length());