Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 再读一遍这个问题,这个答案是正确的。Tag3应该消失,它确实消失了。我的错误是没有仔细阅读+1 !!!+一个同样有效的解决方案和非常彻底的解释。非常有帮助,谢谢。因为case1和case2共享标签,所以不应该允许删除case1。这不是问题的意思。一个案例在_Mysql_Database Design - Fatal编程技术网

Mysql 再读一遍这个问题,这个答案是正确的。Tag3应该消失,它确实消失了。我的错误是没有仔细阅读+1 !!!+一个同样有效的解决方案和非常彻底的解释。非常有帮助,谢谢。因为case1和case2共享标签,所以不应该允许删除case1。这不是问题的意思。一个案例在

Mysql 再读一遍这个问题,这个答案是正确的。Tag3应该消失,它确实消失了。我的错误是没有仔细阅读+1 !!!+一个同样有效的解决方案和非常彻底的解释。非常有帮助,谢谢。因为case1和case2共享标签,所以不应该允许删除case1。这不是问题的意思。一个案例在,mysql,database-design,Mysql,Database Design,再读一遍这个问题,这个答案是正确的。Tag3应该消失,它确实消失了。我的错误是没有仔细阅读+1 !!!+一个同样有效的解决方案和非常彻底的解释。非常有帮助,谢谢。因为case1和case2共享标签,所以不应该允许删除case1。这不是问题的意思。一个案例在任何情况下都会被删除(没有双关语;),问题只是是否也要删除一些标签(以及哪些标签)。 cases id INT description TEXT tags id INT name TEXT case_tag


再读一遍这个问题,这个答案是正确的。Tag3应该消失,它确实消失了。我的错误是没有仔细阅读+1 !!!+一个同样有效的解决方案和非常彻底的解释。非常有帮助,谢谢。
因为case1和case2共享标签,所以不应该允许删除case1。
这不是问题的意思。一个案例在任何情况下都会被删除(没有双关语;),问题只是是否也要删除一些标签(以及哪些标签)。
cases
  id   INT
  description   TEXT

tags
  id   INT
  name   TEXT

case_tag
  id   INT
  case_id   INT
  tag_id    INT
SET @caseid_to_delete = 127;
SELECT COUNT(1) INTO @sharedtags_casecount
FROM (SELECT BB.case_id,B.tag_id
FROM case_tag AA INNER JOIN case_tag BB
ON  AA.case_id=@caseid_to_delete
AND AA.tag_id=BB.tag_id
AND AA.case_id<>BB.case_id) A;
DELETE C.*,T.* FROM cases C,case_tag CT,tags T
WHERE C.id=@caseid_to_delete
AND CT.case_id=@caseid_to_delete
AND CT.tag_id=T.id
AND @sharedtags_casecount=0;
ALTER TABLE case_tag ADD INDEX case_tag_ndx (case_id,tag_id);
SET @caseid_to_delete = 127;
SELECT COUNT(1) INTO @sharedtags_casecount
FROM (SELECT BB.case_id,BB.tag_id
FROM case_tag AA INNER JOIN case_tag BB
ON  AA.case_id=@caseid_to_delete
AND AA.tag_id=BB.tag_id
AND AA.case_id<>BB.case_id) A;
DELETE C.*,CT.* FROM cases C,case_tag CT,tags T
WHERE C.id=@caseid_to_delete
AND CT.case_id=@caseid_to_delete
AND CT.tag_id=T.id
AND @sharedtags_casecount=0;
delete t.*
from tags t
inner join case_tag ct
on t.id=ct.tag_id
inner join cases c
on ct.case_id=c.id
and t.id not in(select distinct tag_id from case_tag where case_id<>1)
and ct.case_id=1;
DELETE FROM tag WHERE tag_id NOT IN (SELECT tag_id FROM case_tag);