-1
嗨,也許這個問題已經回答,但沒有任何幫助。(MYSQL)如何插入記錄只有當它不存在於表
我正在使用Mysql,我想在表中插入一些數據,但我想在插入之前檢查重複的記錄。
我對如何實現這一點很困惑。
我需要檢查,如果「RFC == $ Expediente和對角線== 10或對角線== 20」,顯示類似「記錄已經存在」, 或插入所有的數據,如果記錄不存在
這是我的腳本:
<?php
$Person_name=$_POST['Person_name'];
$Expediente=$_POST['Expediente'];
$Sexo=$_POST['Sexo'];
$Edad=$_POST['Edad'];
$Domicilio=$_POST['Domicilio'];
$numero=$_POST['Numero'];
$colonia=$_POST['Colonia'];
$Ciudad=$_POST['Ciudad'];
$Parentesco=$_POST['Parentesco'];
$ClinicaAds=$_POST['ClinicaAds'];
$Dependencia=$_POST['Dependencia'];
$Entidad=$_POST['Entidad'];
$Foraneo=isset($_POST['Foraneo']) ? 1 : 0;
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "issste";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = " INSERT INTO paciente (RFC, Nombre, Sexo, FechaNacimiento, Calle, NumeroDomiciliario, Colonia, Ciudad, Dependencia, ClinicaAdscrip, Entidad, Foraneo, Diagonal)
SELECT '$Expediente', '$Person_name', '$Sexo', '$Edad', '$Domicilio', '$numero', '$colonia', '$Ciudad', '$Dependencia', '$ClinicaAds', '$Entidad', '$Foraneo', '$Parentesco' FROM paciente
WHERE NOT EXIST(
SELECT RFC, Diagonal FROM paciente WHERE RFC = '$Expediente' AND Diagonal='10' OR Diagonal='20') LIMIT 1 ";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
當我運行我的程序我得到這個錯誤
「你有你的SQL語法錯誤檢查對應於你的MySQL服務器版本的手冊」
的可能的複製[?如何「插入如果不存在」在MySQL(https://stackoverflow.com/questions/1361340/how-to -insert-if-not-exists-in-mysql) – am05mhz
你的標題詢問一件事,但你完成另一個問題。你的問題是什麼?重新出現錯誤信息,請閱讀並在[mcve]上執行。開始刪除代碼,直到沒有錯誤。在sqlfiddle.com或其他網站(谷歌)試試你的SQL。閱讀您正在嘗試使用的聲明的手冊。 Googel重新確認錯誤信息和號碼。 – philipxy