如何用最简便的方法删除相关字段中信息(内详!) 100分给最佳方案者!!
一表 table1 有字段 id name
5 ff
6 zzz
7 ggg
table2 有字段 from_id 是上面id的逗号分隔
id from_id
1 5,6,7
2 6,7
3 4,5,6,7
要求删除table1中的一条记录时删除table2相关信息,如删除 6,则table2中所有的6删除
如何最简便实现?
问题点数:100、回复次数:8Top
1 楼cmsoft(韦小宝是我的老乡)(草根在路上)回复于 2002-05-17 09:55:15 得分 0
你update table2中的form_id,然后再删除table1中的Top
2 楼sakura169(〖一诺轻天下〗)回复于 2002-05-17 10:56:53 得分 100
from_id最好用|1|2|3|前后夹击型,要不然update的时候麻烦多了
update table2 set from_id=replace(from_id,'|id|','|') where fromid like '|id|'
delete from table1 where id='id'Top
3 楼linkyou(山上爱上山)回复于 2002-05-17 11:21:04 得分 0
在table1的delete触发中做最简便Top
4 楼Lostinet(Hello)回复于 2002-05-17 11:30:43 得分 0
做个中间表多好啊。。
Top
5 楼Lostinet(Hello)回复于 2002-05-17 11:32:02 得分 0
做个中间表多好啊。。
Top
6 楼lovingkiss(桃花影落飞神贱,碧海潮生<吹>玉箫 坦白从良 抗拒强奸)回复于 2002-05-17 11:43:09 得分 0
replace这个函数没有吧?!Top
7 楼lovingkiss(桃花影落飞神贱,碧海潮生<吹>玉箫 坦白从良 抗拒强奸)回复于 2002-05-17 11:46:34 得分 0
SQLServer中有,Access里面没有找到,不知道是否支持Ado的使用Top
8 楼saucer(思归)回复于 2002-05-17 11:56:49 得分 0
重新设计table2Top
9 楼funboy88(司令)回复于 2002-05-17 12:39:27 得分 0
我经常遇到这个问题,把我的方法传给你吧!
首先你的TABLE2要改下,如下:(为什么改下,在程序中你自己应该领悟得到 )
id from_id
1 ,5,6,7,
2 ,6,7,
3 ,4,5,6,7,
在写入数据的时候,改这样是很简单实现的,应该不用我讲如何改的过程吧?
下面是删除的SQL语句
<%dim str_id,id
id=reqeust("id")
sql="delete * from table1 where id=" & id
rs.open sql,con,1,3
str_id="," & id & ","
sql="select from_id from table2 where from_id like '%" & str_id & "%'"
rs.open sql,con,1,3
do while (not rs.eof)
rs("from_id")=replace(rs("from_id"),str_id ,",")
rs.update
rs.movenext
loop
rs.close
set rs=nothing
con.close
set con=nothing
%>
程序就这样解决,你看看能不能满意,我遇到这样的问题已经不下5次了,这样解决还是不错,不知道有没有更好的解决方法的!欢迎大家讨论!
QQ联系:2469284
Top




