Mysql 更新表,同一个表内有多个子查询

标签 mysql

我正在使用多个子查询转换同一个表中的列日期时间格式。我收到一条错误消息,提示我的表不存在。

这是我的查询:

update mytable as t
set t.PO_Date = (
   select DATE_FORMAT(STR_TO_DATE(PO_Date, '%m/%d/%Y'), '%Y-%m-%d') 
   from mytable as i 
   where i.Pri_ID = (select MAX(Pri_ID) from mytable)
);

我多次尝试更改表别名,始终收到别名 t 不存在的错误。

最佳答案

如果将来有人偶然发现此问题,请按以下方法纠正该问题。

update mytable as t
set t.PO_Date = DATE_FORMAT(STR_TO_DATE(PO_Date, '%m/%d/%Y'), '%Y-%m-%d')
ORDER BY t.Pri_ID DESC LIMIT 1;

关于Mysql 更新表,同一个表内有多个子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32257552/

相关文章:

php - get() 不起作用,但 First() 起作用。我需要使用 get() 来获取我的所有数据

mysql - 如何在 laravel 中编写此查询

php - 具有定义的日期间隔的 MySQL 查询行

php - Wordpress:建立数据库连接时出错和 Apache2 问题

sql - 在 doctrine 和 symfony 中将 '' 转换为 NULL

c# - ASP.NET MVC 5项目中VS2017连接MySQL

php - 从 Db 生成 JSON bool 值

php - 按月划分的最大重叠日期时间范围

php - 使用 PHP 脚本从 MySQL 数据库创建 XLS 文件

mysql - Python 3.3 没有名为 MySQLdb 的模块,安装了 cymysql