-3

可能重复:
标准化数据库插入

是否可以执行单个查询来查找记录并返回它的 ID 或插入它并返回它的 ID?这是我认为可能适用于此的方法:

INSERT INTO firstname (id, name) VALUES (NULL,'$name') 
ON DUPLICATE KEY UPDATE name ='$name', id=LAST_INSERT_ID(id)

如果它有帮助,我正在使用 ezSQL 并且可以做一个$db->query("...");then an$id = $db->insert_id;来获取插入 id 并在变量中使用它。

4

2 回答 2

2

您可以编写自己的存储过程来检查现有记录。

  1. 尝试通过其 id 检索记录
  2. 检查是否为空,插入
  3. 否则你得到了行
于 2013-01-27T20:56:02.340 回答
0

我不确定我是否了解您需要什么。

在调用 INSERT INTO ... ON DUPLICATE KEY UPDATE ... 您只需要从数据库中获取 last_insert_id() 就可以了。

于 2013-01-27T20:58:22.810 回答