【发布时间】:2011-06-12 15:04:46
【问题描述】:
我在 MySQL 中有两个表,每个表都有自己的 datetime 字段。 我想复制表 A 的日期时间来覆盖表 B 的日期时间。 我使用 PHP。
$result = mysql_query("select *
from A
where id = $key");
$row = mysql_fetch_array($result);
print $row[2]."\n"; // $row[2] is the datetime field
mysql_query("update B
set date_cal = $row[2]
where id = $key") // try to overwrite datetime in table B
$row[2] 具有日期时间字段的字符串表示形式。
但是覆盖操作没有生效。如何使用php覆盖表B的日期时间字段?
如果我坚持使用 $row[2] 来分配新的 datetime 字段而不是再次运行 mysql_query,该怎么办?
【问题讨论】:
-
是静默失败还是抛出错误?如果是这样,错误是什么?
-
只是提示,您可以直接在一个 sql 查询中执行此操作:
UPDATE b SET date_cal = (SELECT date_cal FROM a WHERE id = $key) WHERE id = $key。 -
@OMG Ponies:这叫做“变量插值”。
"WHERE ID = $key"有效,PHP 会将$key替换为其值。 -
静默失败。没有错误抛出。答案有效。但是如果我需要使用 $row[2] 来分配 datetime 字段,我应该怎么做才能使它正确?