沈阳棋盘山滑雪攻略:asp编程的问题.

来源:百度文库 编辑:高校问答 时间:2024/05/02 20:20:17
比如说我要编写一个文章系统,评论位于一个数据表,文章位于另一个数据表.

是不是让评论的ID字段与文章的ID字段一样(这个怎么实现?),然后调用SQL找到并显示?还是其他方法?

另外删除文章的同时,删除评论怎么实现?

谢谢!

文章表:
id cid text
1 5 sfgvsd
2 2 ewgg

评论表
id text
2 sdgsgrg
5 egtweger

显示文章:
select * from 文章表 where id=1
评论:
select * from 评论表 where id=(select cid from 文章表 where id=1)

删除:
delete from 文章表 where id=1
delete from评论表 where id=(select cid from 文章表 where id=1)

为了方便管理,把两个表的id都设为自动编号,评论表单设一个articleid字段用于标识是哪个文章的评论,存文章的id,删除时也用这个字段作条件就行了

一篇文章有多条评论,应该设成一对多的关系。即主表是文章表,字表是评论表。
加了级联删除后可以直接删除文章,这样相应的评论也一并删除了,也可以用触发器来实现级联。如未加就必须先删除评论再删除文章。

文章的ID字段:可以用自动编号
评论的ID字段:使用对应的文章的ID号。
假设文章在article表中,评论在comment表中,可以这样设计表:

article:
artID(自动编号,文章ID,唯一);title(文章标题);content(文章内容)...

comment:
comID(自动编号,评论ID,唯一),artID(对应的文章ID),content(评论内容)...

如果文章ID是10,那么在comment表里查找artID=10的记录就可以了。删除也是一样的道理。