如何進行數據表與數據表之間的關聯性更新?
SQL
$rs = $do->query(
"SELECT
t.name as name,
tr.object_id as object_id
FROM wp_terms as t
JOIN wp_term_relationships as tr ON tr.term_taxonomy_id = t.term_id
JOIN blog as b ON b.url = tr.object_id "
);
UPDATE
while ($r = mysqli_fetch_array($rs)){
$key = '';
$key .= $r['name'];
$do->query(
"UPDATE `blog` SET
`tags` = '{$key}'
WHERE url = '{$r['object_id']}' "
);
}
根據數據表 t
和 tr
利用 tr.object_id
去 t
找對應的 t.name
數據庫結構:
object_id / name
目的是我要更新到 數據表 blog
的 tags
字段中,並利用 ,
間隔。
而 tr.object_id
也等於是 b.url
blog
as b
url / tags
例如13421 這篇 blog,我想將他的所有 name 都丟到 b.tags
中,用 ,
間隔
但現在發生的問題是,永遠都是最後一個被更新進去 b.tags !
假設這篇 blog 找到了 a,b,c,d,e,
,當丟進去 b.tags 的時候就只有 e,
這是咋了?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你的
while
,每执行一次都有将$key
置空并连接上$r['name']
,并且每次while
都有UPDATE
。你要把
$key=''
提到循环外。我不知道你是怎么打算的的,照你的代码来看,你如果是
a,b,c,d,e
五个,就会更新五次为a,
、a,b,
、a,b,c,
、a,b,c,d,
、a,b,c,d,e,
。如果你只想更新一次,你的UPDATE
也要提到循环外