我具有類似的功能,并且想要在失敗的嘗試時自動處理插入(取決于錯誤原因)-它必須是鎖定條件。這是用于企業(yè)的應(yīng)用程序,因此我不依賴客戶端服務(wù)器之間的大量通信,但仍需要可靠地處理插入。我應(yīng)該在哪里放置自動重新提交邏輯(api請求或?qū)嶋H的php代碼中),以及如何實現(xiàn)它?public function createOne($params = []){ $sql = "insert into actionitems( actionitemid, assignorid, ownerid, altownerid, duedate, ecd, criticality, actionitemtitle, actionitemstatement, closurecriteria ) values( :actionitemid :assignorid, :ownerid, :altownerid, :duedate, :ecd, :criticality, :actionitemtitle, :actionitemstatement, :closurecriteria )"; try { $this->db->beginTransaction(); $this->db->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION); $locksql = $this->db->query("lock tables actionitem write"); $statement = $this->db->prepare($sql); $statement->execute([ ':actionitemid' => $params['actionitemid'], ':assignorid' => $params['assignor'], ':ownerid' => $params['owner'], ':altownerid' => $params['altowner'], ':duedate' => $params['duedate'], ':ecd' => $params['ecd'], ':criticality' => $params['criticality'], ':actionitemtitle' => $params['actionitemtitle'], ':actionitemstatement' => $params['actionitemstatement'], ':closurecriteria' => $params['closurecriteria'], ]); return json_encode(['Result' => 'Success'], JSON_PRETTY_PRINT); $this->db->commit(); }
- 1 回答
- 0 關(guān)注
- 147 瀏覽
添加回答
舉報
0/150
提交
取消