更改MySQL列,其值为自动递增

时间:2010-02-18 15:34:48

标签: php jquery mysql

我在标题上遇到了困难,所以让我解释一下。

我正在做的是使用jQuery UI在页面上创建可排序的列表元素。提交订单后,php会根据订单的顺序为列表元素分配递增值,删除现有的id列,创建新的id列并插入每个列表元素值WHERE title = x。这会创建正确的ID顺序,并且工作正常。

我现在要做的是将列更改为auto_increment,这样如果我插入一个新条目,则会自动分配id,这个数字比php脚本生成的最大数字高一个。我没有使用任何外键或任何东西,只是这个简单的表。

这可能吗?

1 个答案:

答案 0 :(得分:1)

我的错误,我误解了你的问题。您不希望使用数据库本身根据排序顺序提供编号。但是,您可以使用SQL查询本身返回递增字段。一秒钟,我将用该信息更新...

好的,这是:

你需要使用像这样的变量 设置@ n = 0; SELECT @n:= @ n + 1为'n', COL1, COL2 从表

但是,我强烈建议您尽可能在PHP代码中创建编号。

----------------原帖----------------

使用phpmyadmin非常简单。如果您无法安装,请告诉我,我将挖掘必要的SQL。

哎呀,这是SQL:

alter table t1 modify f1 int(4)auto_increment alter TABLE tbl auto_increment = xxx; //将xxx更改为应该使用的下一个ID

根据您现有的数据集,您可能需要以相反的顺序运行它们,如果您不将auto_increment的值更改为尚未使用的内容,则无法添加auto_increment。