Mysql 插入子查询最大值的记录?
我有一个insert语句,我想给它添加一个值,为每个insert增加另一条记录。我得到了一个名为Mysql 插入子查询最大值的记录?,mysql,Mysql,我有一个insert语句,我想给它添加一个值,为每个insert增加另一条记录。我得到了一个名为revision的列,我想为每一行添加1。所以 Row 1 = revision = 1 Row 2 = revision = 2 但只有当ID匹配时,它才会是 从id=13的版本中选择MAX(revision)+1 例如,哪个会得到6 然后我想把它添加到我的insert语句中 INSERT INTO versions (id, date_added, revision) VALUES
revision
的列,我想为每一行添加1。所以
Row 1 = revision = 1
Row 2 = revision = 2
但只有当ID匹配时,它才会是
从id=13的版本中选择MAX(revision)+1
例如,哪个会得到6
然后我想把它添加到我的insert语句中
INSERT INTO
versions
(id, date_added, revision)
VALUES
(13, NOW(), STUFF FROM OTHER QUERY)
但我似乎不知道如何在insert中执行子查询。如果我这样做,它会抱怨表是一样的。试试这样的方法吧
INSERT INTO
versions
(date_added, revision)
(SELECT NOW(),MAX(revision)+1 FROM versions WHERE id=13)
我有点迷路了。。您是否尝试过使用
插入。。。选择。。。加入代码>?您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在第1行“从id=13的版本中选择13,NOW(),MAX(修订版)+1”附近使用的正确语法。我刚刚删除了id。如果我删除了值()
部分,请立即尝试。