【发布时间】:2013-10-05 11:21:27
【问题描述】:
以下语句返回我想要完美更改的结果“显示第 0 - 29 行(总共 2,018 行,查询耗时 0.0781 秒)”:
SELECT * FROM `wp_posts` WHERE `ID` IN
(SELECT `post_id` FROM `wp_postmeta` WHERE (`meta_key` = 'expires') AND (`meta_value` <= NOW() - INTERVAL 1 DAY) AND (`meta_value` IS NOT NULL));
但是,当我尝试更新结果集“post_status”字段时,以下内容返回错误“#1292 - 截断不正确的日期时间值:''”...我的错误在哪里第二个语句的语法请(下)?
UPDATE `wp_posts` SET `post_status`='draft' WHERE `ID` IN
(SELECT `post_id` FROM `wp_postmeta` WHERE (`meta_key` = 'expires') AND (`meta_value` <= NOW() - INTERVAL 1 DAY) AND (`meta_value` IS NOT NULL));
谢谢。
【问题讨论】:
-
meta_value 是什么类型?
-
你是在不同的数据库上运行它吗?
-
元值是长文本
-
没有相同的数据库。只是里面有不同的表。
-
不同的表是什么意思?两个查询中的表名相同。
标签: mysql syntax-error where-clause