我在 MySQL 中有两个表,每个表都有自己的日期时间字段。 我想复制表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] 来分配新的日期时间字段而不是再次运行 mysql_query,怎么办?
最佳答案
我相信您需要在更新查询中将日期括在引号中。
mysql_query("update B set date_cal=$row[2] where id=$key")
应该是
mysql_query("update B set date_cal='$row[2]' where id=$key")
另一方面,我建议您在执行 SELECT *
查询时不要按索引访问您的字段。如果您向数据库中添加另一个字段,$row[2]
最终可能会引用其他内容。如果您改为调用 $row = mysql_fetch_assoc($result);
,您可以通过字段名称引用它,例如
mysql_query("update B set date_cal='{$row['date_field]}' where id=$key")
关于php mysql 日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4750329/