mysql - 在 UPDATE 查询中插入子查询

标签 mysql

我可以在 UPDATE SET 查询中运行 INSERT 子查询吗?示例:

UPDATE sometable
      SET sometable.val = sometable.val + NOW()
     WHERE NOT isnull((INSERT INTO othertable values(sometable.val, 2, 3)));

我可以写一些类似于 is not null 的东西吗?或者只是将值从 sometable 插入到 othertable 中。

我可以用函数解决这个问题,但是有人知道更好的方法吗?

最佳答案

不,这是不可能的,您需要先发布插入,然后您可以使用last_insert_id()从最后插入的记录中获取 key 作为更新查询的一部分。

关于mysql - 在 UPDATE 查询中插入子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31429999/

相关文章:

mysql - 如何从旧的(非 ruby​​)应用程序获取数据到新的(ruby)应用程序?

MySql if 语句在 where 子句中

mysql - 当表日期时间现在过去时触发脚本()

MySQL 错误代码 : 1064. 您的 SQL 语法有误

php - 从 MySQL 连接中的第一个表中获取所有结果

mysql - 将两个大型非规范化表拆分为多个带有链接表的表

MySQL 商业用途许可

php - 使用条件检查更新表

MySQL_如何对另一列上具有相同值的每两列中的值求和?

mysql - 向 DateTime 列的日期部分添加唯一约束