插入记录时查找唯一的字段ID

时间:2012-05-01 16:12:21

标签: php mysql unique unique-key

有没有办法将记录插入Unique字段而不重复记录。如果记录存在,我需要使用记录ID作为另一个表中的引用。我正在使用php和mySql。

2 个答案:

答案 0 :(得分:0)

添加名为“id”的列为“INT”的列,并在phpmyadmin中将其设置为“主键”和“自动增量”。

这样,您将拥有一个从1开始的唯一字段并计算表中的每个新记录,然后您可以在其他表中引用其值。

答案 1 :(得分:0)

使用INSERT ... ON DUPLICATE KEY UPDATE

  

如果表包含AUTO_INCREMENT列并且INSERT ... ON DUPLICATE KEY UPDATE插入或更新行,则LAST_INSERT_ID()函数将返回AUTO_INCREMENT值。例外:对于更新,LAST_INSERT_ID()在MySQL 5.1.12之前没有意义。但是,您可以使用LAST_INSERT_ID(expr)解决此问题。假设idAUTO_INCREMENT列。要使LAST_INSERT_ID()对更新有意义,请按如下方式插入行:

INSERT INTO table (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id), c=3;