jjzjj

LastInsertId

全部标签

android - 从sqlite数据库Android获取最后插入的值

我正在尝试从Android中的sqlite数据库中获取最后插入的rowid。我已经阅读了很多关于它的帖子,但无法让一个工作。这是我的方法:publicCursorgetLastId(){returnmDb.query(DATABASE_TABLE,newString[]{KEY_WID},KEY_WID+"="+MAX(_id),null,null,null,null,null);}我尝试过使用MAX,但我一定是用错了。还有其他方法吗? 最佳答案 实际上,SQLiteDatabase类有它自己的insert方法,它返回新创建行的id

MySQL LAST_INSERT_ID() 与多条记录 INSERT 语句一起使用

如果我使用执行单个记录插入的循环插入多条记录,则返回的最后一个插入id正如预期的那样是最后一个。但是如果我做一个多记录插入语句:INSERTINTOpeople(name,age)VALUES('William',25),('Bart',15),('Mary',12);假设上面三个是插入到表中的第一条记录。在插入语句之后,我希望最后一个插入id返回3,但它返回1。有问题的语句的第一个插入id。所以有人可以确认这是否是LAST_INSERT_ID()在多条记录INSERT语句的上下文中的正常行为。所以我可以基于它来编写代码。 最佳答案

MySQL LAST_INSERT_ID() 与多条记录 INSERT 语句一起使用

如果我使用执行单个记录插入的循环插入多条记录,则返回的最后一个插入id正如预期的那样是最后一个。但是如果我做一个多记录插入语句:INSERTINTOpeople(name,age)VALUES('William',25),('Bart',15),('Mary',12);假设上面三个是插入到表中的第一条记录。在插入语句之后,我希望最后一个插入id返回3,但它返回1。有问题的语句的第一个插入id。所以有人可以确认这是否是LAST_INSERT_ID()在多条记录INSERT语句的上下文中的正常行为。所以我可以基于它来编写代码。 最佳答案

php - PDO lastInsertId();问题 php

我有一个具有父子关系的数据库。我需要先插入到父表中,然后获取ID,然后我将使用该ID将数据插入到子表中。以下是我用来插入数据库的代码片段。这是我第一次使用PDO类。我得到的错误;未定义属性:和调用非对象数据库::$db上的成员函数lastInsertId()。我必须承认我是PHP的新手。谢谢{publicfunction__construct($DB_TYPE,$DB_HOST,$DB_NAME,$DB_USER,$DB_PASS){parent::__construct($DB_TYPE.':host='.$DB_HOST.';dbname='.$DB_NAME,$DB_USER,$

php - 对于方法 PDO::lastInsertId(),参数 "sequence name"是什么意思? (PHP-PDO)

我正在尝试使用PDO的lastInsertId方法,但文档指出对于某些rdbms,我需要一个序列名称作为参数。只是熟悉mysql,不太清楚sequencename是什么。它们是指包含自动增量id的列的名称吗?这是该方法的文档:http://php.net/manual/en/pdo.lastinsertid.php如有任何相关信息,我们将不胜感激。谢谢。 最佳答案 您可以像这样创建一个命名序列,而不是使用主键auto_incrementing(即MySQL):CREATESEQUENCEa_sequenceINCREMENTBY5S

php - 为什么 PDO 的 Oracle 驱动程序没有实现 lastInsertId()?

我在PDO中收到此错误:error:Message:PDO::lastInsertId()[pdo.lastinsertid]:SQLSTATE[IM001]:Driverdoesnotsupportthisfunction:driverdoesnotsupportlastInsertId()尝试从oracle数据库中获取最后插入的ID时。我将序列字符串添加到最后一个插入ID函数,但仍然无法正常工作。对于带有PDO的Oracle上的这个错误,Google没有说太多。 最佳答案 Oracle没有自动增量列,因此不像MySQL那样支持l

php - lastInsertId 在 Postgresql 中不起作用

我正在使用Postgresql,当我想使用PDO检索最新的插入ID时,遇到了问题。这是我的代码:$db->lastInsertId('columnName');错误信息是SQLSTATE[42P01]:Undefinedtable:7ERROR:relation"columnName"doesnotexist我想我对PHP手册中所说的“序列对象”有一些误解。Note:ReturnstheIDofthelastinsertedrow,orthelastvaluefromasequenceobject,dependingontheunderlyingdriver.Forexample,PD

php - lastInsertId() 是否获取该脚本或整体插入的最后一个 ID?

我想知道lastInsertId()究竟是如何工作的。Atm,我像这样使用它来获取插入行的id,这样我就可以在代码的其他部分使用这个id。例如:$stmt=$db->prepare('INSERTINTOimage_table(image_name,image_size)VALUES(:image_name,:image_size)');$stmt->execute(array('image_name'=>$photoName,'image_size'=>$image_size/1024,));$lastInsertId=$db->lastInsertId('yourIdColumn'

PHP PDO 函数 lastInsertId 和竞争条件

假设在我的系统中,用户U1在表A中创建了一个新的数据库条目,我使用lastInsertId函数获取ID(auto_increment字段),但几乎同时(稍后)另一个用户U2做同样的事情。在这种情况下,lastInsertId是否会为U1返回其他用户添加的条目的ID,因为它是最新的?谢谢。 最佳答案 我相信您应该只担心竞态条件,以防您对不同的线程使用单个连接。如果您为每个请求使用不同的连接,您应该没问题。结帐http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html了解更

php - 替代 "PDO::lastInsertId"/"mysql_insert_id"

我总是听说使用“lastInsertId”(如果不使用PDO,则使用mysql_insert_id())是有害的。在触发器的情况下,它显然是,因为它可能返回一些完全不是您的INSERT创建的最后一个ID的东西。$DB->exec("INSERTINTOexample(column1)VALUES('test')");//UsuallyreturnsyournewlycreatedID.//HoweverwhenaTRIGGERinsertsintoanothertablewithauto-increment://->ReturnsnewlycreatedIDoftrigger'sINS