【问题标题】:how to make insert into without duplicate in mysql via PHP [duplicate]如何通过PHP在mysql中插入而不重复[重复]
【发布时间】:2021-12-21 12:55:51
【问题描述】:

我有一个像这样在我的 php 上声明的变量

      $kode = mysqli_real_escape_string($conn, $_POST["kode"]);
              $nama = mysqli_real_escape_string($conn, $_POST["nama"]);
              $hargabeli = mysqli_real_escape_string($conn, $_POST["hargabeli"]);
              $hargajual = mysqli_real_escape_string($conn, $_POST["hargajual"]);
              $keterangan = mysqli_real_escape_string($conn, $_POST["keterangan"]);
              $brand = mysqli_real_escape_string($conn, $_POST["brand"]);
              $kategori = mysqli_real_escape_string($conn, $_POST["kategori"]);
              $is_active = mysqli_real_escape_string($conn, $_POST["is_active"]);
              $image_name = mysqli_real_escape_string($conn, $fileDestination);
              $sumber_pengadaan = mysqli_real_escape_string($conn, $_POST["sumber_pengadaan_id"]);
              $supplier = mysqli_real_escape_string($conn, $_POST["supplier_id"]);
              $remark = mysqli_real_escape_string($conn, $_POST["remark"]);
              $umur_penyusutan_barang = mysqli_real_escape_string($conn, $_POST["umur_penyusutan_barang"]);
              $umur_ekonomis = mysqli_real_escape_string($conn, $_POST["umur_ekonomis"]);
              $sumber_perolehan = mysqli_real_escape_string($conn, $_POST["sumber_perolehan"]);
              $tanggal_invoice = date('Y-m-d', strtotime($_POST['tanggal_invoice']));

对于所有这些结果,我在我的 php 上创建了这个 sql

sql2 = "insert into $tabeldatabase values( '$kode','$nama','$hargabeli','$hargajual','$keterangan','$kategori','','','','','','$brand','','', '$image_name', '', '$sumber_pengadaan','', '$supplier','', '$remark', '$umur_penyusutan_barang', '$umur_ekonomis', '', '$is_active', '$tanggal_invoice', '')";

但问题是,如果$kode存在,程序会自动删除旧数据并替换为新数据,如何根据这种情况设置代码,所以如果kode存在,则不能插入。

我是这么想的,但不知道对不对

sql2 = "insert into $tabeldatabase values( '$kode','$nama','$hargabeli','$hargajual','$keterangan','$kategori','','','','','','$brand','','', '$image_name', '', '$sumber_pengadaan','', '$supplier','', '$remark', '$umur_penyusutan_barang', '$umur_ekonomis', '', '$is_active', '$tanggal_invoice', '') WHERE NOT EXISTS (SELECT * FROM $tabeldatabase WHERE kode = $kode)";

【问题讨论】:

标签: php mysql sql-insert


【解决方案1】:

只需将IGNORE 添加到您的查询中:

INSERT IGNORE INTO `table` ...

https://www.mysqltutorial.org/mysql-insert-ignore/

【讨论】:

    猜你喜欢
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-03
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    相关资源
    最近更新 更多