如果存在mysqli php,则编辑重复
我的mysqli插入代码有一些问题。 我真的不知道如何处理重复项,但我在那里读了很多文章,我试图让它工作,但当我使用相同的变量执行此代码时,行数会增加。你能帮我修复这个代码吗,或者找到另一种方法来检查重复的代码如果存在mysqli php,则编辑重复,php,mysql,database,mysqli,Php,Mysql,Database,Mysqli,我的mysqli插入代码有一些问题。 我真的不知道如何处理重复项,但我在那里读了很多文章,我试图让它工作,但当我使用相同的变量执行此代码时,行数会增加。你能帮我修复这个代码吗,或者找到另一种方法来检查重复的代码 // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
if ($stmt = $conn->prepare(
"INSERT INTO matka (jmeno, prijmeni, bydliste, telefon, email)
VALUES (?,?,?,?,?)
ON DUPLICATE KEY UPDATE
jmeno = VALUES(jmeno),
prijmeni = VALUES(prijmeni),
bydliste = VALUES(bydliste),
telefon = VALUES(telefon),
email = VALUES(email)" )) {
$stmt->bind_param("sssss", $jmeno_matky, $prijmeni_matky, $bydliste_matky, $telefon_matky, $email_matky);
$stmt->execute();
printf("%d Row inserted.\n", $stmt->affected_rows);
$stmt->close();
$id_matky = $conn->insert_id;
$conn->close();
}
重复键上的
依赖于是否定义了主键或唯一键。这意味着在两行中定义键的列不能相同
例如,如果您在电子邮件
上设置了一个唯一键,如下所示:
matka上创建索引matka\u电子邮件(电子邮件)
然后,当您尝试插入记录且电子邮件地址已存在时,它将在重复键上的之后更新查询中定义的字段
请注意,唯一键可能涉及以下几列:
创建索引matka_matka上的所有数据(jmeno、prijmeni、bydliste、telefon、email)
见文件:
我以前从未见过prijmeni=VALUES()
语法,这样行吗?另外,如果只是更新到我只会忽略的相同数据,insert ignore
。我就在那里:他的代码看起来和我的相似,所以我尝试了一下。然后我是否应该使用而不是INSERT INTO tablename(…)-INSERT IGNORE tablename(…)?INSERT IGNORE
只会忽略在重复尝试时会出现的错误。如果你没有unique,那就不会出错。在那里做一些独特的东西,这样你就知道什么时候dup不应该发生。哦,谢谢你,我想我可以用它来检查是否所有数据都存在。您知道我应该如何检查这些值是否已经存在吗?这将对我有很大帮助。你可以在所有字段中创建一个唯一的键-我将用一个例子更新答案