php - php mysql更新两个表不起作用
问题描述
我正在使用两个表进行更新,但由于某种原因它不起作用并且没有产生错误,所以我找不到问题。有人可以对此有所了解吗?为什么这不起作用?
$upd = "
UPDATE table t
, images i
SET t.image_blob = i.image_blob
WHERE t.record_id='".$rid."'
AND i.image_id='".$iid."'";<br>
$dbh->exec($upd);
换句话说,我想从图像表(其中image_id=$iid
)和更新表(t)中获取特定记录record_id=$rid
。
解决方案
在您的代码中,首先您说您要更新 2 个表,但随后您只更新表 t。如果表与外键无关,您可以尝试下一个:
$upd = "
UPDATE table t
SET t.image_blob = (SELECT i.image_blob FROM images i WHERE i.image_id='".$iid."')
WHERE t.record_id='".$rid."'";
$dbh->exec($upd);
否则,您可以尝试使用“FROM”和“JOIN's”根据多个表 SQL Server 2005,2008 中的数据更新单个表中给出的解决方案
推荐阅读
- python - 创建新列
- c - 用于在编译时获取 C 结构成员名称的 GCC/Clang/MSVC 扩展?
- python - 本机 python 模块的 init 函数名称
- javascript - 猫鼬回调地狱承诺
- python - 使用 sed(删除 ansi 颜色)将 python 脚本打印出来并将其写入文件
- google-apps-script - 防止创建重复的 Google 文件夹
- .net - 在 VB.NET 中使用 Renci SSH.NET 计算文件的哈希值
- javascript - Javascript中的Perfomance Api在Vue js中没有按预期工作
- javascript - 先前版本的 d3 是否可以与后一版本的 d3 一起使用
- java - 春季批处理将新参数添加到现有作业参数