php - 如果 id 存在,则使用重复键,否则插入

标签 php mysql

我有一个包含下表 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 是否存在,如果存在则更新该行。 UsernamePassword 都不是唯一的,但 id 是。我有一个 $_SESSION["id"] ,如果用户已登录,它就可用。我可以以某种方式使用它吗? 那么我该如何编写一个 SQL 语句来查明 id 是否存在,如果存在,则用 ON DUPLICATE KEY(或更好的方法)覆盖它?

最佳答案

首先编写选择查询并计算 num 行如果它是 0 然后插入查询触发否则更新查询

关于php - 如果 id 存在,则使用重复键,否则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43463713/

相关文章:

php - 在 Laravel 应用程序中通过 .htaccess 利用浏览器缓存无法正常工作

php - 初学者 : PHP Header Error - MySQL

php - 在 html 文件中包含 html 电子邮件

php - 显示存储在数据库中的图像而不使用 header

mysql - 将单击的元素移动到第一个

PHP、MySQL - 当使用重复键时,从输入数组追加到单元格

MySQL设计问题

php - 为什么下载所有邮件后程序无法停止?

php - 媒体 Assets 管理解决方案php、mysql、云

mysql - 组合两个相同的结构化表而无需重复条目的最快方法