繁体   English   中英

MySQL插入查询中的用户定义变量

[英]User Defined Variable in MySQL Insert Query

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

您可以使用此sql;

SELECT @newId := COALESCE( MAX( menuId ) , 0 ) +1 FROM msMenu;
INSERT INTO msMenu values ( (select @newId), 'My Menu', 1) ;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM