如果已经存在,则将数据更新到MySQL表中

时间:2016-08-28 09:35:17

标签: php mysql

我使用以下脚本插入数据并将图像上传到服务器

$strSQL = "SELECT * FROM room_info WHERE r_id = '$rId' ";

现在,我想修改上面的脚本,这可以允许我将数据更新到mysql表中,最重要的是如果rId已经存在则将图像更新到uploads文件夹中

我知道下面的查询我可以用来从mysql中读取数据,以检查记录是否已经存在,特别是rId

update room_info set name = $name where r_id = $rId;

要更新我可以使用这样的东西:

public class X {
    public int f(A a, int n) {
        n = n + 1;
        return 1;
    }

    public int h(B b, int n) {
        try {
            n = n + 3;
            return f(b,n); // <- at this point
        } catch(Exception e) {
            return n * 4;
        }
    }
}

但好奇地知道如何一起使用所有这些查询,插入记录,检查记录,更新记录,最后但并非最不重要的是将图像更新为上传文件夹

注意:这不是一个重复的问题;因为我不需要更新MYSQL表中的数据,即使是上传文件夹中的图像

1 个答案:

答案 0 :(得分:1)

使用INSERT ... ON DUPLICATE KEY UPDATE

制作&#39; r_id&#39; room_info和。中唯一的列 更改您的查询

$sql = "insert into room_info (r_id,url,name) VALUES ('$rId','$path','$name')";

to 

$sql = "insert into room_info (r_id,url,name) VALUES ('$rId','$path','$name')
ON DUPLICATE KEY UPDATE url='$path'";