我只是想知道是否可以将我的变量用于插入查询?
我将在表中插入一条新记录。我表上的主键是数字值(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;