gpt4 book ai didi

mysql - 如果存在则更新记录,否则插入 MySQL

转载 作者:行者123 更新时间:2023-11-29 05:35:06 27 4
gpt4 key购买 nike

我知道,这个问题被问过很多次,也回答过..
但是,我的问题更具体,我找不到合适的解决方案。

我的表格(命名为pages)就是这样;

id (int)
title (text)
content (text)
slug (text)

如果 slug(我已将其转换为唯一)与发布的相同,我需要更新我的记录。

我的意思是我需要根据 slug 记录更新/插入我的记录。

例如。当前数据:

  id  |  title  |  content  |  slug  |
--------------------------------------
1 | MainPage| some html | mainpage

如果发布的数据有 title=ChildPage, content=html.., slug=mainpage 那么我需要更新以前的记录(标题和内容记录),但是如果数据有 title= MainPage, content=html.., slug=other_slug 然后我需要用新的 id 插入这个数据。

更新

Slug 记录已转换为 UNIQUE 键。

最佳答案

我能想到的最合适的事情是在 slug 列上创建一个唯一索引

ALTER TABLE pages ADD UNIQUE KEY slug;

原因很简单:如果这不是唯一约束,可能会有不止一个 slug 带有“mainpage”……应该更新哪一个??

然后使用 ON DUPLICATE KEY UPDATE子句:

INSERT INTO pages 
VALUES (NULL, $title, $content, $slug) ON DUPLICATE KEY UPDATE content=$content

关于mysql - 如果存在则更新记录,否则插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11404243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com