首先,中間關聯表:這裡的中間表只存表1的主鍵和表2的主鍵,即多對多的形式。
執行資料新增和刪除為框架內部方法,不屬於思路部分。
方法一:先全部刪除舊資料,後新增新資料
$res = $this->classes->classedit($id, $data); //修改主表資料
if($res)
} $this->show_tips('操作成功!');
}else
使用該方法弊端:大批量刪除資料這塊兒不安全,存在一定程度的安全隱患。
方法二:只新增需要的,只刪要刪的
//庫中查出的舊資料:$arr_old (處理過的一程式設計客棧維陣列)
//提交過來的新資料:$arr_new www.cppcns.com(得到的一維陣列)
$intersect = array_intersect($arr_old, $arr_new); //交集(需要保留的部分,不用處理)
$result_del = array_diff($arr_old, $intersect); //舊資料中需要刪除的
$result_add = array_diff($arr_new, $intersect); //新資料中需要增加的
//新增新增資料
if($result_add && is_array($result_add))
}//刪除需要清除的資料
if($result_del && is_array($result_del))
}if($bool_add && $bool_del)
else
該方法特點:有針對性的新增資料和刪除資料,較第一種方法,安全性高
本文標題: php實現更新中間關聯表資料的兩種方法
本文位址:
三個表關聯更新資料
問題 想寫乙個sql,按照 使用者現在所屬的部門 更新需求表中的 duty deptid,duty deptname,duty deptnameall 這三個字段值。其中 xq需求表中字段duty userid duty username duty deptid,duty deptname,duty...
update關聯其他表批量更新資料
批量更新表時,update乙個表的列時,需要依賴另外的表,這種依賴可以是where條件子句,也可以要update的field的值依賴另外的表 通常有兩種做法 1.使用儲存過程 2.在程式 裡逐條迴圈執行 這裡給出一種更高效 簡潔的做法,批量更新sql 一句sql就可以替代麻煩的迴圈過程,有ms sq...
Oracle的關聯表更新(二)
oracle資料庫中有乙個表formtable main 159 dt1結構如下 mainid,id 161,100,161,101,161,102,162,103 162,104 163,105 現在增加乙個字段序號,實現如下的效果 mainid,id,xuhao 161,100,1 161,10...