如何对具有其当前字段中的值的表执行更新

时间:2019-06-10 09:01:24

标签: mysql

如何使用其当前字段中的值对表执行更新。

已经实现了一些试用代码,但是会产生错误。

UPDATE T_CONFIG
    SET MIN_REQUIRED_DATE = MIN(select REQUIRED_DATE FROM (select TABLE_NAME from T_CONFIG ))
where MIN_REQUIRED_DATE ='';

MIN_REQUIRED_DATE将从嵌套Select中获得的表中获取最短日期。

1 个答案:

答案 0 :(得分:0)

首先,调查您的查询

UPDATE T_CONFIG
SET MIN_REQUIRED_DATE = MIN(select REQUIRED_DATE FROM (select TABLE_NAME from 
T_CONFIG ))
where MIN_REQUIRED_DATE ='';

并专注于本节

MIN(select REQUIRED_DATE FROM (select TABLE_NAME from 
T_CONFIG ))

我注意到2个问题:

1)您正在尝试从选择语句REQUIRED_DATE中检索列select TABLE_NAME from T_CONFIG,而该列仅返回列名TABLE_NAME。我认为这不是你的意图

2)MIN函数的放置错误

因此,根据我可以从您的困境中得出的结论。您的解决方案应该是这样的。

UPDATE T_CONFIG
SET MIN_REQUIRED_DATE = (select MIN(REQUIRED_DATE) FROM (select * from 
T_CONFIG) a)
where MIN_REQUIRED_DATE ='';

这应将列MIN_REQUIRED_DATE中所有为空字符串的行设置为该表T_CONFIG的最小日期值。

注意:您可能想再次确认此MIN_REQUIRED_DATE“数据类型”,我个人不记得日期类型列可以为空字符串。根据我的记忆,我只记得它带有一个实际的日期值或Null。