1
fetchSql()的用法
重要点:语法
2
getLastSql()
的用法
删除不掉的原因
具有外键的那张表叫:主表,也就是 details 是主表,internet_bar 这个是 从表
当使用:DELETE FROM
business_internet_bar where id = 34;
删除表中的数据的时候,会发生下面的错误
DELETE FROM `business_internet_bar` where id = 34
> 1451 - Cannot delete or update a parent row: a foreign key constraint fails (`culture_gz`.`internet_bar_details`, CONSTRAINT `internet_bar_details_ibfk_1` FOREIGN KEY (`bar_id`) REFERENCES `business_internet_bar` (`id`))
问AI,也是一些麻烦的东西,关键是如果用thinkphp来进行这些操作该怎么实现? 就是说thinkphp如何删除从表中的数据?
因为【算擅停】的会将 bussiness_internet_bar 下的
- stop_start 改为有值(当前时间)
- is_not_stop 设置为1
- stop_desc 设置为3
会从internet_bar_warning 表 中存储 bar_id,terminal_ip,name,warn_type为4,【stop_start】 为 当前时间 time 改为当前的时间
会从internet_bar_totalWarning 表的 bar_id 设置为 netbars_id region_id 设置为 netbars->region_id 和 warn_4 = 1
因为【不算擅停】 的会将 business_internet_bar 下的
- is_not_stop 设置为 0
- 【stop_end】 设置为当前时间 并保存到 【warn】 表中
当检查的时候会从 warn 表中,查找 查找 warn_type 为4 并且 当前的 bar_id 设置为 $task->id 既当前需要检查的网吧的id,stop_end为0的,
如果真的需要这样的数据?从warn表中找【stop_end】为0的?只有:不算擅停的 stop_end 这个字段才会有值! 为0 则代表:找的是算擅停的!
这个有个else 应该也会走到
既然你找的是算擅停 的 如果找到这个网吧算擅停的,那么会走近if 然后判断 如果算出来不算是擅停的了 只会改掉 warn 表中的 stop_end 还是有值 并且会将:stop_start 改为有值(当前时间)
下次再来的时候判断这个还是判断 stop_end 还是有值 还是会近if 但其实这个已经算是不擅停的了!
所以bug
是将 算擅停的时候 将 stop_end = 0
是将:and where stop_start != 0