如果存在则更新记录,否则写入新记录?

发布于 2024-11-01 10:27:31 字数 309 浏览 2 评论 0原文

我正在尝试执行此查询,当它找到 $serial 的记录时,它可以更新它。或者,如果序列号不存在,则可以写入新记录。

我遇到语法错误,但对我来说似乎没问题。非常确定重复密钥更新是可行的方法,但我错过了一些东西......

$query = "INSERT INTO `".$sys_id."` (serial, status) VALUES ('98745', 'active') ON DUPLICATE KEY UPDATE";
$result = mysql_query($query) or die(mysql_error());

I'm trying to execute this query and when it finds a record for $serial, it can update it. OR, if the serial doesn't exist, it can write a new record.

I get syntax erros but to me it seems fine. pretty darn sure ON DUPLICATE KEY UPDATE is the way to go but i'm missing something...

$query = "INSERT INTO `".$sys_id."` (serial, status) VALUES ('98745', 'active') ON DUPLICATE KEY UPDATE";
$result = mysql_query($query) or die(mysql_error());

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦与时光遇 2024-11-08 10:27:31

你需要告诉它要更新什么(参见手册)

所以:(

$query = "INSERT INTO `".$sys_id."` (serial, status) VALUES ('98745', 'active') 
           ON DUPLICATE KEY UPDATE status=VALUES(active)";

我假设密钥是serial

you need to tell it what to update (see manual)

so:

$query = "INSERT INTO `".$sys_id."` (serial, status) VALUES ('98745', 'active') 
           ON DUPLICATE KEY UPDATE status=VALUES(active)";

(i am under the assumption that the key is serial)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文