0

MySqlフィールドで構成されるテーブルがありますserial_no。新しい行が挿入されているときに、serial_noフィールドを前の最大値の次の値に設定する必要がありserial_noます。たとえば、前の最大値serial_noが 10 の場合、新しい行は 11 で挿入されserial_noます。

以下は、現在これをどのように管理しているかです。

$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 に答える