php - 如果mysql表中user_id不存在,如何插入新数据

标签 php mysql pdo insert-update

我在 mysql 表中有两列 map 1。第一列的名称为 json,第二列的名称为 user_id 现在,如果 user_id 不存在于 mysql 表中,我需要将数据插入到新行,但如果存在,我只需要更新 json 列,其中 user_id = user_id ...

我尝试:

     try {        
                $STH = $db->prepare("INSERT INTO map (user_id, json)
VALUES (:2,:1)
on duplicate key update json=values(json)");


                $STH->bindParam(':1', $_POST['mapData']);
                $STH->bindParam(':2', $user_id);

一些想法?我使用 php pdo。

如何解决这个问题?

谢谢!

最佳答案

你错过了:on duplicate key update json=values(:json)"); ,所以尝试这样:

     try {        
                $STH = $db->prepare("INSERT INTO map (user_id, json)
VALUES (:user_id,:json)
on duplicate key update json=values(:json)");
                $STH->bindParam(':json', $_POST['mapData']);
                $STH->bindParam(':user_id', $user_id);

此外,您的问题涉及: Here

关于php - 如果mysql表中user_id不存在,如何插入新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28399955/

相关文章:

php - 如何在没有构造函数的情况下强制初始化类变量?

MySQL 错误 : : 'Access denied for user ' root' @'localhost'

MySQL 错误 1452 - 无法添加或更新子行 : a foreign key constraint fails

php - 具有 pdo 的数据库类,在继承时不应重新启动连接

php - 如何使用 PDO PHP 设置与 Postgresql 数据库中模式的连接

php - 使用表格在 php 中显示图像

php - cron 作业不会打开 file_get_contents

php - php变量,字符串和数组:关联数组返回字符串的第一个字母

php - LIMIT 和 OFFSET 可以帮助减少大表的执行时间

php - 在准备好的语句中使用占位符时出错