有没有办法在不重复记录的情况下将记录插入到唯一字段中。如果记录存在,我需要在另一个表中使用记录 ID 作为参考。我正在使用php和mySql。
添加一个名为"id"的"INT"类型的列,并在phpmyadmin中将其设置为"主键"和"自动增量"。
这样,您将拥有一个从 1 开始的唯一字段,并计算表中每条新记录,然后您可以在其他表中引用其值。
使用 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)
来解决此问题。假设id
是AUTO_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;