Jika jadual tidak wujud, masukkan ke dalam jadual
P粉546138344
P粉546138344 2023-09-05 15:53:43
0
1
671
<p>Saya mempunyai aplikasi yang membolehkan pengguna menambah nombor siri (unit) pada litar. Saya cuba mengubah suai pertanyaan sisipan untuk dua jadual untuk menyemak sama ada ID sel sudah wujud. Kalau tak ada nak selit tapi kalau ada tak nak selit rekod baru. Saya telah mencari dan cuba menggunakan jawapan yang saya temui di SO berkaitan dengan ini tanpa sebarang kejayaan.</p> <p>这是我的代码,以 控制器</p> <pre class="brush:php;toolbar:false;">public function AddNewCell() { jika ($_SERVER['REQUEST_METHOD'] == 'POST') { $circuitId = $_POST["circuitId"]; $cellNum = filter_var($_POST["cellNum"], FILTER_SANITIZE_STRING); $toteId = $_POST["toteId"]; $posId = $_POST["posId"]; $stageCheckId = $this->GetStageIdByBatId($cellNum); jika (kosong ($stageCheckId)) { echo json_encode("0"); } lain { $cellId = $this->form->InsertNewCell($circuitId, $stageCheckId, $toteId, $posId); $this->wk->InsertCell($circuitId, $cellId, $cellNum, $toteId, $posId); echo json_encode($cellId); } } }</pre> <p>编队模型</p> <pre class="brush:php;toolbar:false;">public function InsertNewCell($circuitId, $stageCheckId, $toteId, $posId) { $this->db->query("MASUKKAN KE DALAM tbl_Cell_Tote_Track (Circuit_Id, Stage_Check_Id, Tote_Id, Position_Id) NILAI (:cid, :scid, :tid, :pid)"); $this->db->bind(":cid", $circuitId); $this->db->bind(":scid", $stageCheckId); $this->db->bind(":tid", $toteId); $this->db->bind(":pid", $posId); $this->db->execute(); $this->db->query("PILIH ATAS(1) Cell_Id DARIPADA tbl_Cell_Tote_Track ORDER BY Cell_Id DESC"); pulangkan $this->db->single()->Cell_Id; }</pra> <p>工作表模型</p> <pre class="brush:php;toolbar:false;">public function InsertCell($circuitId, $cellId, $cellNum, $toteId, $posId) { $this->db->query("PILIH Nombor_Litar DARI tbl_Circuit_Track WHERE Circuit_Id = :cid"); $this->db->bind(":cid", $circuitId); $circuitNum = $this->db->single()->Circuit_Num; $position = $this->GetCellPos($toteId, $posId); $this->db->query("INSERT INTO tbl_OCV_Worksheet (Cell_Id, Circuit_Id, Circuit_Num, Position_Num, Serial_Num) VALUES (:clid, :cirid, :cn, :pn,:cnum)" $this->db->bind(":clid", $cellId); $this->db->bind(":cirid", $circuitId); $this->db->bind(":cn", $circuitNum); $this->db->bind(":pn", $position); $this->db->bind(":cnum", $cellNum); $this->db->execute(); }</pre> <p>我尝试通过添加在表的 Cell_Id 列上添加唯一约束 <kod>$this->db->query("更改表 tbl_Cell_Tote_Track 添加唯一的 (Cell_Id);</code> 到模型函数,但当使用现有序列号输入单元格时仍然收到重复项。我也尝;g<试 <pre class="brush:php;toolbar:false;">public function InsertNewCell($circuitId, $stageCheckId, $toteId, $posId) { $this->db->query("MASUKKAN KE DALAM tbl_Cell_Tote_Track (Circuit_Id, Stage_Check_Id, Tote_Id, Position_Id) PILIH $circuitId, $stageCheckId, $toteId, $posId DI MANA TIDAK WUJUD(PILIH Cell_Id DARI tbl_Cell_Tote_Track)"); $this->db->execute(); $this->db->query("PILIH ATAS(1) Cell_Id DARIPADA tbl_Cell_Tote_Track ORDER BY Cell_Id DESC"); pulangkan $this->db->single()->Cell_Id; }</pre> & lt;多代码,请告诉我。</p>
P粉546138344
P粉546138344

membalas semua(1)
P粉436688931

Jika anda berada di select 语句上设置 where anda boleh memilih kod terakhir (dengan pilihan) seperti

"NOT EXISTS (SELECT Cell_Id FROM tbl_Cell_Tote_Track WHERE Cell_id = $cellId)"

Dan tukar parameter fungsi menghantar ID unit.

Jika Cell_Id ialah kenaikan automatik, maka anda perlu menentukan kekangan dengan lajur yang berbeza.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan