我只是想知道是否可以将我的变量用于插入查询?
我将在表中插入一条新记录。我表上的主键是数字值(int)。要提供唯一值,我需要从表中获取最新的键(MAX (menuId)),然后将该值加1。
这是我的代码:

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

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


MySQL变量仅在存储过程中允许吗?
提前致谢。

最佳答案

尝试这个

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


编辑2:

 SET @newId = (select COALESCE( MAX( menuId ) , 0 ) +1 from msMenu)
 INSERT INTO msMenu (column1, column2 , column3)
 SELECT  @newId ,'My Menu', '1'
 FROM msMenu;

07-24 09:22