Я пытаюсь вставить данные в базу данных из нескольких таблиц, и я хочу предотвратить дублирование данных, и это работает, но
это не работает, когда вставляются новые данные, он все еще вставляетновые данные, кроме как со всеми предыдущими данными, существуют.Как я могу предотвратить его дублирование.
Я пробовал INSERT ON DUPLICATE KEY, но можно ли принимать значения из нескольких таблиц.Как?
Это мой код.tmno is userID
<?php
session_start();
include ('configure.php');
if(isset($_POST['submit'])){
$tmno = $_SESSION['tmno'];
$fname = $_SESSION['fname'];
$date = $_SESSION['date'];
$month = $_SESSION['month'];
$paymentID = $_SESSION['paymentID'] ;
$cartID = $_SESSION['cartID'];
$statusName = $_SESSION['statusName'];
$feeID = $_SESSION['feeID'];
$check = mysqli_query($con,"SELECT * FROM invoice WHERE paymentID='$paymentID' AND feeID='$feeID'");
$checkrows = mysqli_num_rows($check);
if($checkrows){
echo "<script>alert('Already Update!');
window.location='AdminFee.php'</script>";
}
else{
$yo = "INSERT IGNORE INTO invoice (paymentID,cartID,date,feeID,month,tmno,statusName)
SELECT payment.paymentID, cart.cartID,payment.date,fee.feeID,fee.month,cart.tmno,payment.statusName
FROM payment
inner join cartitem on payment.cartID = cartitem.cartID
inner join fee on cartitem.feeID = fee.feeID
inner join cart on payment.cartID = cart.cartID";
$keputusan = mysqli_query($con,$yo);
if($keputusan){
echo "<script>alert('Invoice Updated!');
window.location='AdminFee.php'</script>";
}
else{
echo "<script>alert('Failed to Update Invoice!');
window.location='AdminFee.php'</script>";
}
}
}
?>
Образ базы данных: красное поле показывает данные дублирования, а желтое поле показывает новые вставленные данные