Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中将项添加到Mysql表_Php_Mysql - Fatal编程技术网

在PHP中将项添加到Mysql表

在PHP中将项添加到Mysql表,php,mysql,Php,Mysql,我试图向Mysql中的表中添加一个项,该项不会产生相同guid的倍数,但它只会不断添加倍数,即使我在重复密钥更新时使用了倍数 <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error

我试图向Mysql中的表中添加一个项,该项不会产生相同guid的倍数,但它只会不断添加倍数,即使我在重复密钥更新时使用了倍数

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$guid = mysqli_real_escape_string($conn, htmlspecialchars($_GET['guid'])); 

$sql = "INSERT INTO users (guid) VALUES ('$guid') ON DUPLICATE KEY UPDATE guid='$guid'";

if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
我试图向Mysql中的表中添加一个项,该项不会产生相同guid的倍数,但它只会不断添加倍数,即使我在重复密钥更新时使用了倍数

如果它继续添加重复项,那么您的密钥就不是您所认为的真正的密钥。guid上没有主/唯一约束,因此没有复制触发器


如果guid有这个约束,那么即使逻辑不正确,mysql也不允许您添加重复的值。修复此问题,您的查询将按预期工作。

那么如何将此约束添加到guid?将guid设为主键或将唯一索引添加到ITTNKS:primary key guid