gpt4 book ai didi

mysql - 在 mysql 中嵌套插入以进行标记

转载 作者:可可西里 更新时间:2023-11-01 07:55:22 25 4
gpt4 key购买 nike

我想用一条 sql 语句向博文添加标签。

假设我的表格如下所示:

tags
+-------+-----------+
| tagid | tag |
+-------+-----------+
| 1 | news |
| 2 | top-story |
+-------+-----------+

tag2post
+----+--------+-------+
| id | postid | tagid |
+----+--------+-------+
| 0 | 322 | 1 |
+----+--------+-------+

我要解决的问题是插入一个新标签检索它的id然后将这个新id插入关系表 在单个 sql 语句中。

INSERT INTO tag2post (postid, tagid)
VALUES
(
332, # the post
IF (
(SELECT tagid FROM tags WHERE tag = 'new_tag'),
(SELECT tagid FROM tags WHERE tag = 'new_tag'),
# here is where i'd like to insert
# the new_tag and return it's id
'i am lost here'
)
)

最佳答案

您不能将其作为单个插入来执行,因为插入是原子的——也就是说,在语句完成之前不会确定 ID。

将两个语句包装在一个事务中,您将获得您的 ID 和原子性。

关于mysql - 在 mysql 中嵌套插入以进行标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480065/

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