INSERT IGNORE多行;如何获得最终的UNIQUE ID

时间:2011-03-30 19:05:04

标签: php mysql

我有一个事件表,一个标记表(fields:tag_id,tag)和一个event_tag表(fields:event_id,tag_id)。当一个人创建一个新事件时,他们可以添加通过INSERT IGNORE添加到标记表中的标记(以确保没有重复)。

可以一次添加多个标签,然后我需要在event_tag表中创建相应的记录。

我需要帮助的问题是如何在INSERT IGNORE之后获得生成的tag_id;有时新记录不会被添加,因为它们已经存在于标记数据库中,因此不会返回任何ID。

我是否应该在标记数据库中执行INSERT IGNORE,然后执行SELECT以获取它们添加的标记的相应tag_id,然后在event_tag表中执行另一个INSERT?

谢谢!

1 个答案:

答案 0 :(得分:0)

mysql_insert_id

检索上一个查询(通常是INSERT)为AUTO_INCREMENT列生成的ID。将LAST仅输入一个(查询),因此如果使用此方法,则必须一次执行insert 1值。对于多行,从插入查询中获取第一个生成的AUTO_INCREMENT字段。

- 编辑澄清,重新阅读后注意到可能有点混乱 -