当我从mysql表中删除一条记录并在那个地方插入新记录时,它会将自动增量列值设置为我最后一次插入的下一个,这是意外的
我在许多网站上用谷歌搜索,但没有得到我想要的确切结果 我还尝试通过如下设置last_inserted_id()+ 1:
Alter table t1 auto_increment = last_insert_id() + 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());