簡體   English   中英

如果列中有相同的名稱,則更新行中的值(MySQL中為PHP)

[英]Update values in a row if there is a same name in a column (with PHP in MySQL)

我有一個包含三列的數據庫:ID,用戶名,反饋我希望當用戶名相同時更新反饋值。

我的php代碼:

<?php
conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$value = $_POST['name'];
$value2 = $_POST['message'];
$sql = "INSERT INTO js (userName, feedback) VALUES('$value', '$value2');
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
};

$conn->close();
?>

如果要使用mysql,首先應在userName列上定義一個唯一索引。

ALTER TABLE js
ADD CONSTRAINT u_userName UNIQUE (userName)

像這樣編輯您的插入查詢:

INSERT INTO js (userName, feedback) VALUES ('$value', '$value2')
  ON DUPLICATE KEY UPDATE feedback=VALUES(feedback);

現在,如果mysql遇到重復的鍵沖突,則在用戶名相等的行內,將更新反饋值。

或者,您在php中實現更新邏輯,並檢測表中是否已經存在具有相同用戶名的條目。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM