问题标签 [mysql-insert-id]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 替代“PDO::lastInsertId”/“mysql_insert_id”
我总是听说使用“lastInsertId”(如果您不使用 PDO,则使用 mysql_insert_id())是邪恶的。如果是触发器,显然是这样,因为它可能会返回完全不是您的 INSERT 创建的最后一个 ID 的东西。
有什么选择?
php - mysql_insert_id() 未能检索到自动增量 ID
我看到记录已创建,但无法检索 Id。
怎么了?
编辑
已修复,它是由 $row 引起的。
php - 您使用 mysql_error($con) 或 mysql_insert_id($con) 来检查插入结果吗?
上面将一些东西插入到一个表中。然后你可以检查它是否成功
或者
你的选择和理由是什么?
顺便说一句,以下在运行它们时是否仍然会获取 $id,我还没有尝试过:
mysql - 我正在尝试用一些数据填充 MySQL 表,但是,mysqli 不会让我每隔 10 条语句插入一次
我想用一些票 ID 初始化一个“票”表。为此,我想在表中插入 120 个工单 ID。但是,在每 10 条语句中,MySQL 都会告诉我 ID 已经存在,因此不会让我插入它。这是我的代码:
以下是代码中使用的函数:
这是返回到浏览器的日志:
TCKT00000000YDLO已添加到票务表中!
TCKT10000000YDLO 已添加到票务表中!
TCKT20000000YDLO 已添加到票务表中!
TCKT30000000YDLO 已添加到票务表中!
TCKT40000000YDLO已添加到票务表中!
TCKT50000000YDLO已添加到票务表中!
TCKT60000000YDLO已添加到票务表中!
TCKT70000000YDLO已添加到票务表中!
TCKT80000000YDLO已添加到票务表中!
TCKT90000000YDLO 已添加到票务表中!
TCKT10000000YDLO已经存在,所以不加了!
TCKT11000000YDLO 已添加到票务表中!
TCKT12000000YDLO 已添加到票务表中!
TCKT13000000YDLO已添加到票务表!
TCKT14000000YDLO已添加到票务表中!
TCKT15000000YDLO已添加到票务表中!
TCKT16000000YDLO已添加到票务表中!
TCKT17000000YDLO 已添加到票务表中!
TCKT18000000YDLO已添加到票务表中!
TCKT19000000YDLO 已添加到票务表中!
TCKT20000000YDLO已经存在,所以不加了!
php - Mysql_insert_id 与 Doctrine
我有几个表(mySQL)我想在 Doctrine 的帮助下更新。products 表 id 是自动递增的,下面是我想做的简要说明:
使用冲洗时如何做到这一点?使用常规保存是一种替代方法,但这样做时会有多个事务。我试图为教义找到一个 Mysql_insert_id 版本,但没有任何运气。
谢谢!
php - 在使用 ON DUPLICATE KEY UPDATE 和 PHP 时获取 mysql_insert_id()
我已经找到了一些单独使用 mySQL 的答案,但我希望有人可以告诉我一种方法来获取使用 PHP 处理插入/更新时最后插入或更新的 mysql DB 行的 ID。
目前我有这样的东西,其中 column3 是唯一键,还有一个 id 列是自动递增的主键:
$my_id 在 INSERT 上是正确的,但在更新行时不正确(在 DUPLICATE KEY UPDATE 上)。
我看过一些帖子,有人建议你使用类似的东西
在调用 ON DUPLICATE KEY 时获取有效 ID 值——但这会将有效 ID 返回给 PHPmysql_insert_id()
函数吗?
php - 关于我的代码中 mysql_insert_id() 应用程序的问题
我有一个页面,其中有一个if...else
用于处理输入数据的循环,该页面在提交时被还原两次,即单击一个名为“继续”的按钮,第二次是“添加到购物车”......现在在这种情况下,当单击“继续”按钮时,将if
执行循环,在该循环中将数据插入数据库中,并在刷新时显示所有输入数据,这一次获得了另一个按钮“添加到购物车”。 . 当点击添加到购物车时,else
条件/循环部分中包含的代码被执行。
现在我的问题是,如果数据最初是If
部分插入,然后再else
执行,那么我可以使用mysql_insert_id()
else 部分中的函数来获取最后插入到该if
部分中的数据吗?
以下是我正在谈论的代码类型:
那么可以部分获取最后插入的idelse
吗?
php - PHP,MySql - 多个数据库连接和 mysql_insert_id()
我有 2 个数据库连接,我想从其中一个连接中获取最后插入的 ID。
我需要在 mysql_insert_id() 函数中指定任何内容吗?我一直在检索最后一个已知的 ID,我认为这是由于这个原因。
php - 在 MYSQL 中使用 SELECT MAX(id) 而不是在 PHP 中使用 mysql_insert_id() 有多糟糕?
背景:我正在开发一个系统,开发人员似乎正在使用一个执行 MYSQL 查询的函数,就像"SELECT MAX(id) AS id FROM TABLE"
他们需要获取最后插入行的 id(具有 auto_increment 列的表)一样。
我知道这是一种可怕的做法(因为并发请求会弄乱记录),我正试图将其传达给非技术/管理团队,他们的回应是......
我不同意任何一点,并认为我们会比我们计划的更早遇到这个问题。但是,我正在尝试计算(或计算一种机制)来计算在我们开始看到混乱的链接之前应该有多少用户使用该系统。
对此有任何数学见解吗?同样,我知道这是一种可怕的做法,我只想了解这种情况下的变量......
更新:感谢大家的评论——我们正朝着正确的方向前进并修复了代码!
php - php:mysql_insert_id() 问题
php函数mysql_insert_id()可以在mysql db中处理INSERT查询后不返回结果吗?
只是为了澄清。生产站点上有一个由 cron 执行的脚本。它包含一个为用户生成发票的循环。每次迭代都包含一个 INSERT db 查询和查询之后的 mysql_insert_id() 操作 - 以获取生成的发票编号。在没有获取最后插入的数字的情况下执行了一组迭代。
它可能是由高数据库服务器负载或其他与php代码站点问题无关的原因引起的吗?
任何帮助,将不胜感激!