0

有没有办法在不复制记录的情况下将记录插入唯一字段。如果记录存在,我需要使用记录 ID 在另一个表中进行引用。我正在使用 php 和 mySql。

4

2 回答 2

0

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

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

于 2012-05-01T16:18:39.397 回答
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;
于 2012-05-01T16:33:01.853 回答