【发布时间】:2013-04-28 18:59:06
【问题描述】:
我有一个“标签”表,它在“标签”列上有一个 UNIQUE,以防止重复。
我有一个“bookmarks_tags”表,它将书签与标签相关联,并且它在“bookmark_id”和“tag_id”列上有一个唯一的,以防止重复。
但是,我需要人们能够添加相同的标签,为此,我需要一些方法来检索现有标签的 ID,以在“bookmarks_tags”表中用作参考。
有没有办法编写 INSERT 以便在检测到重复项时返回该重复项的 ID?或者,INSERT ... SELECT 是否更适合“bookmarks_tags”表?
这里的关键是它必须在两种情况下都可以工作;添加为新的,或检索旧的。
此外,LAST_INSERT_ID() 在这种情况下是没有用的,因为有问题的标签可以随时添加。
有什么想法吗?
【问题讨论】:
-
this 会帮助你
-
我可以编写一个 SELECT 查询,但这不是问题。我需要知道一个 INSERT 是否可以完成同样的事情,从而节省额外的编码;我正在使用一个框架,所以有几个文件需要更改。
标签: mysql