0

我有一个MySql包含一个字段的表serial_no。我希望,当插入新行时,它应该将该serial_no字段设置为上一个最大值的下一个serial_no。可以说,以前的最大值serial_no是 10,那么新行将插入serial_no11。

以下是我目前如何管理它。

$max_ser = mysql_query("SELECT MAX(serial)+1 as next_ser FROM widgets WHERE position='".$position."'");
if($max_ser){
    $row_ser = mysql_fetch_array($max_ser);
}      

$insert = 'INSERT INTO widgets(widget_name, widget_alias, widget_type, position, publish_to, serial, status)
        VALUES("'.$name.'", "'.$alias.'", "'.$type.'", "'.$position.'", "'.$menus.'", "'.$row_ser['next_ser'].'", "'.$status.'")';

可以MySql用一个语句完成吗?

任何帮助表示赞赏。

谢谢。

4

1 回答 1

2

我认为您正在寻找 MySql 的AUTO_INCREMENT属性。

如果要将起点指定为另一个数字,请使用:

ALTER TABLE <YOUR_TABLE> AUTO_INCREMENT = 999
于 2013-10-10T04:30:21.203 回答