Tag: 自动增加

如何从wordpress数据库获取最后插入的行ID?

我的wordpress插件有一个名为ID的AUTO_INCREMENT主键字段的表。 当一个新行插入到表中时,我想获取插入的ID值。 function是使用AJAX将数据发布到服务器以插入到数据库中。 新的行ID在AJAX响应中返回以更新客户端状态。 多个客户端可能同时向服务器发布数据。 所以,我必须确保每个AJAX请求都得到正确的新行ID作为响应。 在PHP中,这个特性有一个名为mysql_insert_id的方法。但是,只有当参数是最后一个操作的link_identifier时,它才适用于竞争条件。 我对数据库的操作是$ wpdb。 如何从$ wpdb中提取link_identifier以确保mysql_insert_id工作? 有没有其他的方法来从$ wpdb获取最后插入的行ID? 谢谢。

如何从SQLite表中检索最后一个自动增加的ID?

我有一个表的消息与列ID(主键,自动增量)和内容(文本)。 我有一个用户列用户名(主键,文本)和哈希。 消息由一个发件人(用户)发送给多个收件人(用户),而收件人(用户)可以有多个消息。 我创build了一个Message_Recipients表,它有两列:MessageID(指的是Messages表和Recipient的ID列(指Users表中的username列)。这个表代表了收件人和消息之间的多对多关系。 所以,我有这个问题。 新消息的ID将在存储在数据库中之后创build。 但是我怎样才能持有我刚添加的MessageRow的引用来检索这个新的MessageID呢? 我总是可以在数据库中search当前添加的最后一行,但是可能会在multithreading环境中返回不同的行? 编辑:据我所知,SQLite你可以使用SELECT last_insert_rowid()。 但是,我怎样从ADO.Net中调用这个语句呢? 我的持久性代码(消息和消息接收者是DataTables): public void Persist(Message message) { pm_databaseDataSet.MessagesRow messagerow; messagerow=messages.AddMessagesRow(message.Sender, message.TimeSent.ToFileTime(), message.Content, message.TimeCreated.ToFileTime()); UpdateMessages(); var x = messagerow;//I hoped the messagerow would hold a //reference to the new row in the Messages table, but it does not. foreach (var recipient in message.Recipients) { var row […]