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;

编辑2:

 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 回答
0

你可以使用这个sql;

SELECT @newId := COALESCE( MAX( menuId ) , 0 ) +1 FROM msMenu;
INSERT INTO msMenu values ( (select @newId), 'My Menu', 1) ;
于 2018-08-23T11:39:02.710 回答