如何获取MySQL和Go中最后插入的行的ID?

时间:2017-05-22 22:52:40

标签: mysql go

如何在Go(golang)中使用此技巧:How to get ID of the last updated row in MySQL?

我正在使用go-sql-driver。它应该适用于这两个查询,但我怎么能在Go?

中完成
INSERT INTO table (unique_id) VALUES ("test")
ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id);

SELECT LAST_INSERT_ID();

2 个答案:

答案 0 :(得分:4)

工作解决方案。它是如此简单。我希望其他人会觉得这很有用:

stmt, err := db.Prepare("INSERT table SET unique_id=? ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id)")

res, err := stmt.Exec(unique_id)

lid, err := res.LastInsertId()

答案 1 :(得分:0)

请尝试以下操作:

UPDATE items
SET qwe = 'qwe',
    item_id=LAST_INSERT_ID(item_id)
WHERE asd = 'asd';
SELECT LAST_INSERT_ID();