我有一个名为PriceIK的表(priceCount,propertyID,bestPrice)。
现在我要插入一条记录以及propertyID和bestPrice(priceCount是自动增量) 如果propertyID存在,我想更新各自的bestPrice值。 如果属性值不存在,我想插入新记录(propertyID和bestPrice)
答案 0 :(得分:2)
根据我的理解,这就是你需要的东西。
INSERT INTO PriceIK (propertyID,bestPrice) VALUES(1 , 5000) ON DUPLICATE KEY UPDATE bestPrice="5000"
我使用了propertyID = 1和bestPrice = 5000作为默认值
希望这有帮助
答案 1 :(得分:1)
为了执行此操作,您可以更喜欢使用MySQL INSERT ON DUPLICATE KEY UPDATE statement
。
INSERT ON DUPLICATE KEY UPDATE
是INSERT语句的MySQL扩展。如果在INSERT语句中指定ON DUPLICATE KEY UPDATE
选项,并且新行导致UNIQUE
或PRIMARY KEY
索引中出现重复值,则MySQL会根据新值对旧行执行更新
INSERT ON DUPLICATE KEY UPDATE
语句的语法如下:
INSERT INTO table(column_list)
VALUES(value_list)
ON DUPLICATE KEY UPDATE column_1 = new_value_1, column_2 = new_value_2, …;
INSERT语句的唯一补充是ON DUPLICATE KEY UPDATE子句,您可以在其中指定以逗号分隔的列分配列表。
MySQL根据它执行的操作返回受影响的行数。
插入声明:
INSERT INTO devices(name) VALUES ('Printer') ON DUPLICATE KEY UPDATE name = 'Printer';
这是一个Insert语句,因为devices表不包含Printer
值,因此它会插入它。
更新声明:
INSERT INTO devices(id,name) VALUES (4,'Printer') ON DUPLICATE KEY UPDATE name = 'Server';
这将更新表,因为已存在打印机,因此它将表值更新为服务器。
答案 2 :(得分:0)
$sql="select * from PriceIK where propertyID='$_POST['property']'";
$query=mysqli_query($con,$sql);// Here `$con` is the DB connectivity variable
$num=$query->num_rows;// This will get the count of the executed query
if($num>0){
$up="Update PriceIK set bestPrice='$_POST['price']' where propertyID='$_POST['property']'";
$qry=mysqli_query($con,$up); // Here `$con` is the DB connectivity variable
}else{
$ins="Insert into PriceIK(propertyID,bestPrice) values('".$_POST['property']."','".$_POST['price']."')";
$qry=mysqli_query($con,$ins); // Here `$con` is the DB connectivity variable
}
试试吧
答案 3 :(得分:0)
使用INSERT ... ON DUPLICATE KEY UPDATE
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
答案 4 :(得分:0)
在PHP中尝试以下代码
$(document).ready(function(){
if ($(window).width() < 768) {
$("ul").attr({id:"dLabel",type:"button",data-toggle:"dropdown",aria-haspopup:"true",aria-expanded="false"});
$("ul").addClass("dropdown-menu");
//and rest code..........
}
else {
// go back Default...
}
})