首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql上次插入的行Id

Mysql上次插入的行Id
EN

Stack Overflow用户
提问于 2012-10-12 19:59:20
回答 5查看 7.5K关注 0票数 0

在Mysql中,我使用Insert命令在mysql的表中插入一行,现在我想要插入最后一行的Id,我正在使用

代码语言:javascript
复制
SELECT LAST_INSERT_ID() ;

但是它每次都给我0作为输出。在这方面请帮帮我。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-10-12 20:11:40

LAST_INSERT_ID()仅返回由MySQL服务器为AUTO_INCREMENT列自动生成的值;当您插入特定值时,不会自动生成,LAST_INSERT_ID()也不会返回值。

你可以自己给LAST_INSERT_ID赋值:

代码语言:javascript
复制
INSERT INTO table (uuid) VALUES (LAST_INSERT_ID(12345));

LAST_INSERT_ID(value)value分配给后续对LAST_INSERT_ID()的调用返回,并返回相同的值。不幸的是,这只适用于整数值,对UUID没有用处。

票数 4
EN

Stack Overflow用户

发布于 2012-10-12 20:11:51

为什么要选择不是由insert自动生成的东西,而是传递给它的东西?原因是您在insert语句中使用了UUID()。我建议您首先选择UUID,然后将其传递给插入

代码语言:javascript
复制
SELECT @id := UUID();
INSERT INTO tablename(id, value) VALUES(@id, somevalue)
票数 1
EN

Stack Overflow用户

发布于 2012-10-12 20:09:58

您正在分配一个自动递增uuid,这就是您所做的错误

自动增量字段将自动插入

除此之外,您将在LAST_INSERT_ID()中得到0结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12858588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档