0

私の変数を挿入クエリに使用することは可能ですか? テーブルに新しいレコードを挿入します。テーブルの主キーは数値 ( int) です。一意の値を与えるにはMAX (menuId)、テーブルから最新のキー ( ) を取得し、その値を 1 ずつ増やす必要があります。コードは次のとおりです。

SELECT @newId := COALESCE( MAX( menuId ) , 0 ) +1
FROM msMenu;

INSERT INTO msMenu( @newId,  'My Menu', 1) ;

MySQL変数はストアドプロシージャでのみ許可されていますか? 前もって感謝します。

4

2 に答える 2

0

これを試して

    INSERT INTO msMenu (column1, column2 , column3)
    SELECT  COALESCE( MAX( menuId ) , 0 ) +1 ,'My Menu', '1'  
    FROM msMenu;

EDIT2:

 SET @newId = (select COALESCE( MAX( menuId ) , 0 ) +1 from msMenu)
 INSERT INTO msMenu (column1, column2 , column3)
 SELECT  @newId ,'My Menu', '1'  
 FROM msMenu;
于 2013-08-01T18:06:35.900 に答える