我有一个包含下表 test_users
的数据库:
| id | Username | Password |
| 1 | pat | ***** |
| 2 | roger | ***** |
| 3 | luke93 | ***** |
为了插入一个新行,我使用了以下代码,它工作正常:
$sql = $conn->prepare("INSERT INTO `test_users` (`Username`, `Password`) VALUES (?,?)");
$sql->bind_param('ss',$name, $email);
但现在我正在尝试创建一个“更新配置文件”页面,并且我想使用 ON DUPLICATE KEY。这意味着我需要检查 id
是否存在,如果存在则更新该行。 Username
或 Password
都不是唯一的,但 id
是。我有一个 $_SESSION["id"] ,如果用户已登录,它就可用。我可以以某种方式使用它吗?
那么我该如何编写一个 SQL 语句来查明 id
是否存在,如果存在,则用 ON DUPLICATE KEY(或更好的方法)覆盖它?
最佳答案
首先编写选择查询并计算 num 行如果它是 0 然后插入查询触发否则更新查询
关于php - 如果 id 存在,则使用重复键,否则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43463713/