我有一个表字段类型varchar(36),我想由mysql动态生成它,所以我使用了以下代码:
$sql_code = 'insert into table1 (id, text) values (uuid(),'some text');';
mysql_query($sql_code);
插入记录后如何立即检索生成的uuid?
char(36)
更好 你不能。唯一的解决方案是执行2个独立的查询:
SELECT UUID()
INSERT INTO table1 (id, text) VALUES ($uuid, 'text')
其中$ uuid是第一步中获取的值。
问题内容: 我将SQLite与Android一起使用,我想知道获取插入的行的生成ID的最佳方法。 我认为有一个解决方案可以在包含之后进行搜索,但它并不是最好的方法。 问题答案: 该方法返回刚插入的行或插入期间发生错误的行。 db在哪里。
问题内容: …并且该手册似乎表明您可以随时拨打电话,并且可以正常使用。但是这个… …似乎说明它必须在事务内。所以我的问题是:我可以在查询之前(只要没有交易)就等我想要的时间吗?面对许多并发连接,这可靠吗? 问题答案: PostgreSQL中的INSERT,UPDATE和DELETE具有RETURNING子句,这意味着您可以执行以下操作: 然后查询将为插入的每一行返回它为id插入的值。将往返保存到服
问题内容: 当我插入一行时,表格的“ id”字段会自动增加。我想插入一行,然后获取该ID。 我会按照我说的去做,但是有没有办法我不用担心插入行和获取ID之间的时间呢? 我知道我可以在数据库中查询与输入的信息相匹配的行,但是变化很大,将有重复项,唯一的区别是id。 问题答案: 请参阅。 无论您做什么,都不要插入“ ”。就像您说的那样,这是比赛条件,没有必要。已经具有此功能。
问题内容: 以下代码应将数组中的每个键值对插入到表中的数学列值中。该脚本不返回错误,但插入的行仅包含数组中的最后一个值 例如 将行成功插入到具有第一,第二和第三列的表中,但总共插入值3。 问题答案: 忘记了,只需使用并传递以下值: 另外,您可以完全擦除命名参数,以简化代码:
问题内容: 我有一个查询,我想插入最后一个ID。字段ID是主键,并且是自动递增的。 我知道我必须使用以下语句: 该语句适用于如下查询: 但是,如果我想使用以下语句获取ID: 我收到此错误: 我究竟做错了什么? 问题答案: 那是因为那是SQL函数,而不是PHP。您可以使用。 喜欢: 如果要使用SQL而不是PDO API进行操作,则可以像普通的select查询一样进行操作:
问题内容: 我有一个经常插入新数据的表。我需要获取表的最后一个ID。我怎样才能做到这一点? 类似于吗? 问题答案: 如果您使用的是PDO,请使用。 如果您使用的是Mysqli,请使用。 如果您仍在使用Mysql: 请不要在新代码中使用函数。它们不再维护,已正式弃用。看到 红色框了 吗?了解 准备的语句 来代替,并使用 PDO 或库MySQLi -本文将帮助你决定哪些。如果您选择PDO,这是一个很好