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

标签 mysql sql variables insert

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

关于mysql - MySQL插入查询中的用户定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18001322/

相关文章:

mysql - 如何编写条件 SQL 语句

mysql - rails (ActiveRecord) : Last select overrides previous

sql - SELECT MAX(col_name) 和 ROWNUM = 1 之间的性能

javascript - 可以删除非 var 变量,但不能删除 var 声明的变量?

php - 需要重新格式化日期变量以匹配 mysql 中的日期函数

MYSQL - 删除行索引中的记录

database-design - 要索引的列太多 - 使用 mySQL 分区?

sql - PostgreSQL 数据库中的阿拉伯文和英文文本

php - sql select 查询无法正常运行

Javascript/Node.JS - 是否可以有一个具有多个定义的 var?