jjzjj

LastInsertId

全部标签

php - PDO lastInsertId() 在使用重复键更新时返回 0?

我有如下查询:$a=$members->prepare("insertintoa(name)values(:name)onduplicatekeyupdatename=:name");然后当我这样做时:$insert_id=$a->lastInsertId()如果查询成功插入一行,它将按预期返回插入id,如果它更新了一行,它也将按预期(某种程度上)返回更新后的行id。但是,如果因为一切都相同而没有插入或更新任何内容,那么它只会返回0。我想这是非常合乎逻辑的默认行为,但是有没有办法改变它,以便它可以返回它试图更新的行的ID,就像它实际更改行中的某些内容时所做的那样。谢谢。

php - 如何使用 Zend_Db 获取 Sqlite 数据库的最后插入 ID

我试图在我的PHP应用程序中获取Sqlite数据库的最后插入的行ID。我正在使用ZendFramework的PDOSqlite适配器进行数据库处理。lastInsertId()方法应该给我结果,但它不会。在php.net的PDO文档中,我读到lastInsertId()在所有数据库上的工作方式可能不同。但它根本不能在sqlite上工作吗?我尝试通过以下方式覆盖适配器的lastInsertId()方法://Zend_Db_Adapter_Pdo_SqlitepublicfunctionlastInsertId(){$result=$this->_connection->query('SE

php - 如何使用 Zend_Db 获取 Sqlite 数据库的最后插入 ID

我试图在我的PHP应用程序中获取Sqlite数据库的最后插入的行ID。我正在使用ZendFramework的PDOSqlite适配器进行数据库处理。lastInsertId()方法应该给我结果,但它不会。在php.net的PDO文档中,我读到lastInsertId()在所有数据库上的工作方式可能不同。但它根本不能在sqlite上工作吗?我尝试通过以下方式覆盖适配器的lastInsertId()方法://Zend_Db_Adapter_Pdo_SqlitepublicfunctionlastInsertId(){$result=$this->_connection->query('SE

postgresql - 如何使用 beego/orm 解决 'no LastInsertId available'

我正在尝试使用https://github.com/astaxie/beego/tree/master/orm将struct插入到postgres数据库中。操作要简单import"github.com/astaxie/beego/orm"typeProductstruct{IDstring`orm:"pk"`...}product:=&Product{ID:productID}_,err:=orm.NewOrm().Insert(product)iferr!=nil{log.Fatal(err)}我不断得到这个;没有可用的LastInsertId每当代码运行时(否则插入成功)但我遇到了

postgresql - 如何使用 beego/orm 解决 'no LastInsertId available'

我正在尝试使用https://github.com/astaxie/beego/tree/master/orm将struct插入到postgres数据库中。操作要简单import"github.com/astaxie/beego/orm"typeProductstruct{IDstring`orm:"pk"`...}product:=&Product{ID:productID}_,err:=orm.NewOrm().Insert(product)iferr!=nil{log.Fatal(err)}我不断得到这个;没有可用的LastInsertId每当代码运行时(否则插入成功)但我遇到了

php - 未定义方法 PDO lastInsertId

我有一个插入查询,我想从表中获取ID。我一直在搜索,我找到了PDO的lastInsertId()。当我想使用它时,出现PHP错误。这是我的代码:$db=newdatabase();$naam=$db->quoteQuery($_POST['naam']);$barcode=$db->quoteQuery($_POST['barcode']);$sql="INSERTINTOproducts(name,barcode)VALUES(".$name.",".$barcode.")";$results=$db->executeQuery($sql);$lastid=$results->las

php - 未定义方法 PDO lastInsertId

我有一个插入查询,我想从表中获取ID。我一直在搜索,我找到了PDO的lastInsertId()。当我想使用它时,出现PHP错误。这是我的代码:$db=newdatabase();$naam=$db->quoteQuery($_POST['naam']);$barcode=$db->quoteQuery($_POST['barcode']);$sql="INSERTINTOproducts(name,barcode)VALUES(".$name.",".$barcode.")";$results=$db->executeQuery($sql);$lastid=$results->las

php - 如何在 SQLite 中获取最后一个插入 ID?

SQLite中是否有任何内置函数可用于获取最后插入的行ID。例如:-在mysql中,我们有LAST_INSERT_ID()这种函数。对于sqllite,任何可用于执行相同过程的函数。请帮帮我。谢谢 最佳答案 SQLite这可以使用SQLitelast_insert_rowid()function获得:Thelast_insert_rowid()functionreturnstheROWIDofthelastrowinsertfromthedatabaseconnectionwhichinvokedthefunction.Thelas

php - 如何在 SQLite 中获取最后一个插入 ID?

SQLite中是否有任何内置函数可用于获取最后插入的行ID。例如:-在mysql中,我们有LAST_INSERT_ID()这种函数。对于sqllite,任何可用于执行相同过程的函数。请帮帮我。谢谢 最佳答案 SQLite这可以使用SQLitelast_insert_rowid()function获得:Thelast_insert_rowid()functionreturnstheROWIDofthelastrowinsertfromthedatabaseconnectionwhichinvokedthefunction.Thelas

mysql - PDO - lastInsertId() 用于多行插入查询

我可以将2个宠物插入一个表中,并获取它们的lastInsertId()以一次进一步处理一个(2个查询)。我想知道如果我在1个查询中插入2行,是否有办法获取两个lastInsertIds()并将它们分配给变量:$query="INSERTINTOpets(pet_name)VALUES(':coco'),(':jojo')";$pet_insert=$dbh->prepare($query);$pet_insert->execute(array(':coco'=>$coco,':jojo'=>$jojo));$New_PetID=$dbh->lastInsertId();是否可以获取co