mysql - 使用来自同一表列行的值更新表行
问题描述
我想用 column 的值更新 columncreated_at
的值updated_at
,其中列中的created_at
值为0000-00-00。
我尝试了以下查询:
UPDATE tbl_message_types a
SET a.created_at = (
SELECT
c.updated_at
FROM
( SELECT b.updated_at
FROM tbl_message_types b
WHERE b.created_at LIKE '%0000-00-00%'
AND a.id = c.id ) AS c
)
AND a.created_at LIKE '%0000-00-00%';
但查询结果如下:
> 1054 - Unknown column 'a.id' in 'where clause'
> Time: 0.008s
如何修改查询?
解决方案
我认为您可以以非常简单的方式做到这一点.. 没有任何加入噱头;为什么要坚持一个查询..?选择首先,然后更新。尝试这个..
select
value1 from tableName
where columnX like '%someThing%' and columnY = 'SomeValue' as value11;
update sametableName set someColumn= value11
where....
推荐阅读
- python - 如何在云端部署深度学习模型?
- android-source - Android 模拟器在成功构建 aosp 后无法启动
- c# - 在 Unity 场景中激活暂停菜单窗口时如何锁定我的相机视图?
- node.js - Angular Universal 服务器快速部署到生产错误
- python - 如何使用 BeautifulSoup 从属于多个类的网站中抓取元素
- c# - 如何使用 EPPlus 以逗号分隔小数以生成 Excel
- proxy - 在 Windows 上使用 Mitm 代理
- css - 为什么 font-face 在我的项目中不起作用?
- python - PIL不会第二次在图像上写入文本
- sql - MS Access:将不同表中关于同一组用户的不同数据合并到一个表中