21,886
社区成员
发帖
与我相关
我的任务
分享
public function user_delete()
{
Db('User')->alias('a')
->join('useraddress b','a.uid=b.uid','left')
->where(array('User.uid'=>20))
->delete();
}
如果您使用的多表DELETE语句包括InnoDB表,并且这些表受外键的限制,则MySQL优化程序会对表进行处理,改变原来的从属关系。在这种情况下,该语句出现错误并返回到前面的步骤。要避免此错误,您应该从单一表中删除,并依靠InnoDB提供的ON DELETE功能,对其它表进行相应的修改。