我使用的是php语言,数据库是mysql, 我写了这样一段sql语句.

deleteinv,pro,optfrominvestigateinv,problempro,optionoptwhereinv.Id=pro.investigate_I... delete inv,pro,opt from investigate inv,problem pro,option opt where
inv.Id = pro.investigate_Id and pro.Id=opt.problem_id and inv.Id='$id';

我遇见的问题是: 如果option 表里面没有和problem表有关联的数据的时候,那么执行这段sql代码,就连 investigate ,problem 这两张表的内容都不能删除,第一次遇见这问题.
展开
 我来答
匿名用户
2016-09-08
展开全部
查看一下你是否使用了外键。
追问
没有设置外键.这样写还需要设置外键?
追答
不是,我看你表达的意思就是那个意思,我以为你设置了外键。我理解错了,可能,抱歉。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
懂生活的程序员湫湫
2016-09-08 · TA获得超过4330个赞
知道小有建树答主
回答量:610
采纳率:85%
帮助的人:148万
展开全部
你这问题我之前就回复给你了,你这么写不对怎么可能执行。
你现在要么就是把这一条sql拆分 要么就用左联方式删除
追问
左联方式是怎么弄啊 大哥   这句话 delete   tableA a  from tableA a left join tableB b on a.netbar_id = b.netbar_id where  b.role_id = 0; 你给我的 看不懂 额  ,还有我是三张表 这句话是两张表 后面怎么改没弄过.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式