每当我想向数据库中插入某些东西时,我总是收到这个错误 我已经查看过堆栈,但答案太复杂了。在mysql代码中键“PRIMARY”的重复条目
错误是: 订购错误: 重复条目 '936791155' 关键 'PRIMARY'
$orderID = rand();
$orderQuery = "INSERT INTO Orders (OrderID, PersonID, ProductID, Quantity, Price,
OrderDate)
VALUES(".$orderID.",".$customerID.",".$productID.",".$selectedQuantity.",".$totalPrice.",'".$today."'";
if(mysqli_query($conn, $sqlQuery))
{
echo "Order has been Successfull!";
} else {
echo "Order Error: ".$sql. "<br>" . mysqli_error($conn);
}
这里是我的设置代码的MySQL:
CREATE TABLE IF NOT EXISTS Orders (
OrderID int(11) AUTO_INCREMENT, -- Connects to table 'Customer' and ID
PersonID int(11) NOT NULL, -- Connects to table 'Orders' and OrderUserID
ProductID int(11) NOT NULL,
Quantity int(11) NOT NULL,
Price int(11) NOT NULL,
OrderDate DATETIME,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Customers(PersonID),
FOREIGN KEY (ProductID) REFERENCES Products(ProductID)
);
编辑。我认为它是一个问题,$的customerID
$customerID = rand();
$sqlQuery = "INSERT INTO Customers (PersonID, FirstName, Address, Phone)
VALUES (".$customerID.",'".$userName."','".$address."','".$phone."')";
if(mysqli_query($conn, $sqlQuery)) {
echo "Member verified, in database";
} else{
echo "Member Error: " . $sql . "<br>" . mysqli_error($conn);
}
如果列类型为AUTO_INCREMENT,则不需要插入OrdrID。我想你可以在插入查询中省略该字段。 –
此值已在主键的订单表中 – GYaN
学习使用参数。不要使用参数值查询字符串。 –