【问题标题】:update field using datediff使用 datediff 更新字段
【发布时间】:2017-11-19 02:50:23
【问题描述】:

我一直在尝试使用 datediff 更新 a 的天数。

以下语句可以正常工作:

select DATEDIFF (date_stock_out,date_stock_in) from paddock

但是当我尝试使用以下语句更新表中的第三个字段时,出现语法错误:

update paddock set number_of_days = select DATEDIFF(date_stock_out,date_stock_in) from paddock

我哪里错了。

感谢您的帮助

【问题讨论】:

  • 考虑在较新的版本上使用Generated Columns。存储冗余数据可能会导致问题。

标签: mysql datediff


【解决方案1】:

通常你会做一个UPDATE 而不会在它的中间有一个SELECT

UPDATE paddock SET number_of_days=DATEDIFF(date_stock_out,date_stock_in)

暗示您正在处理paddock,因此无需重复。

每个 SQL 语句都有自己独特的语法和使用方式、位置和时间的限制。在将它们组合在一起之前仔细检查,就像在其他更灵活的编程语言中一样。

【讨论】:

    猜你喜欢
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-26
    • 2016-08-02
    • 2015-03-07
    • 1970-01-01
    相关资源
    最近更新 更多