这个是论坛的表
pw_threads是主贴表
pw_post是回帖表由于某些错误,回帖表中的fid列(板块id)的值是空的,应该是和主贴的fid一样才对。
所以我写了一个语句,但是影响0行,无效。请指教
update pw_posts a,pw_threads b set a.fid=b.fid where a.tid=b.tid and a.fid=0
pw_threads是主贴表
pw_post是回帖表由于某些错误,回帖表中的fid列(板块id)的值是空的,应该是和主贴的fid一样才对。
所以我写了一个语句,但是影响0行,无效。请指教
update pw_posts a,pw_threads b set a.fid=b.fid where a.tid=b.tid and a.fid=0
解决方案 »
- alert 和 update问题
- 事关SQL执行时间,相当重要,求解释
- 如何写最近记录的SQL语句
- PL/pgSQL问题
- 求助使用MySQL-Front出现在这个错误是什么意思
- 100分!一个数据库设计的问题,在线等,解决马上结帖!
- sql中,主键是自增的,它是另一个表的外键,外键插入数据如何才能和主键一致?
- Warning Code : 1265 Data truncated for column 'm_condition' at row 1
- mysql与delphi6中的DbExpress能进行远程连接吗(大哥们帮帮忙,我的十分感谢)
- 查询更新后的结果,向大佬低头请教
- 求一条sql语句
- 求MYSQL查询语句的一个合并查询结果语法
我说的为空就是fid=0,不是null
pw_threads是主贴表
pw_post是回帖表
两个 表的FID、TID字段内容
tid(主贴id) fid(板块id) pw_posts 可以认为只有2个字段
tid fid
同一个帖子的回帖和主贴的fid肯定应该是一样的,同时tid也一样。
但是目前pw_posts表中有些记录fid=0,但是tid还是正常的。所以希望通过查找pw_threads表中对应tid的fid来修复pw_posts表
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
update pw_posts a inner join pw_threads b on a.tid=b.tid
set a.fid=b.fid where a.fid=0
结果如何