select中的MySQL更新 - 您无法在FROM子句中指定要更新的目标表

时间:2014-02-20 09:47:37

标签: mysql

我正在尝试在我的表'mytable'中将datetime转换为timestamp格式。它给出了一个错误说:您不能在FROM子句中为更新指定目标表'mytable'。我更新或转换错了吗?

UPDATE mytable
SET TimeStampIN = (SELECT UNIX_TIMESTAMP(STR_TO_DATE(timestamp, '%h:%i%p') FROM mytable)

1 个答案:

答案 0 :(得分:1)

使用另一个子查询来克服MySQL的这种限制

UPDATE mytable
SET TimeStampIN = 
(
  select * from 
  (
     SELECT UNIX_TIMESTAMP(STR_TO_DATE(timestamp, '%h:%i%p') FROM mytable
  ) x
)