请问thinkphp5 如何实现关联表数据的删除 ,请个大神帮忙解答。目前我还是新手很多不懂,麻烦大家了

czh198928 2018-05-16 08:52:28
请问thinkphp 如果删除两个关联表的数据??我使用下面代码一直报错。

public function user_delete()
{
Db('User')->alias('a')
->join('useraddress b','a.uid=b.uid','left')
->where(array('User.uid'=>20))
->delete();
}

返回错误信息为
打印出来的SQL语句为
因此请问大家,这里应该如何操作,如何删除联表的数据,其中useraddress 的uid为外键 ,user的uid 为user 表的主键
...全文
2176 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Chuckwe 2018-05-23
  • 打赏
  • 举报
回复
。。。能说我从来只操作单表吗。。。剩下的交给逻辑。。。
小温LLT 2018-05-21
  • 打赏
  • 举报
回复
DELETE a,b from user a inner join useraddress b on a.uid=b.uid where a.uid=20
xuzuning 2018-05-16
  • 打赏
  • 举报
回复
如果您使用的多表DELETE语句包括InnoDB表,并且这些表受外键的限制,则MySQL优化程序会对表进行处理,改变原来的从属关系。在这种情况下,该语句出现错误并返回到前面的步骤。要避免此错误,您应该从单一表中删除,并依靠InnoDB提供的ON DELETE功能,对其它表进行相应的修改。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧