我只是想知道是否可以将我的变量用于插入查询?
我要在我的桌子上插入一条新记录。我表上的主键是数值(int
)。为了给出一个唯一值,我需要从表中获取最新的键(MAX (menuId)
),然后将该值递增1。
这是我的代码:
SELECT @newId := COALESCE( MAX( menuId ) , 0 ) +1
FROM msMenu;
INSERT INTO msMenu( @newId, 'My Menu', 1) ;
MySQL变量是否只允许存储过程? 提前谢谢。
答案 0 :(得分: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;
答案 1 :(得分:0)
您可以使用此sql;
SELECT @newId := COALESCE( MAX( menuId ) , 0 ) +1 FROM msMenu;
INSERT INTO msMenu values ( (select @newId), 'My Menu', 1) ;