我在1个文件中有脚本insert
和update
数据。 insert
数据已成功,但如果我想要insert
个相同的数据,则会创建具有相同USERID
的新行
主键是USERID
。
我尝试过数据比较,但它没有用。
这是我的剧本。
$sql=("SELECT * FROM DATA WHERE USERID='$USERID';")
if ($result->num_rows > 0){
$row = $result->fetch_assoc();
if ((int)$row['USERID'] = (int)$USERID){
$sql=("UPDATE DATA SET SANDI='$SANDI', Photo='$Photo', Name='$Name' WHERE USERID='$USERID';");
}
}
感谢您的帮助。
答案 0 :(得分:1)
不需要先进行查询,然后根据该结果采取行动。使用SQL INSERT语句的ON DUPLICATE选项,该选项将为您插入行或更新现有行。
$sql= ("INSERT INTO DATA
SET USERID = '$USERID' ,
SANDI = '$SANDI' ,
Photo = '$Photo' ,
Name = '$Name'
ON DUPLICATE KEY UPDATE
SANDI = '$SANDI' ,
Photo = '$Photo' ,
Name = '$Name'");