更新表和值的单列应从 0 开始,然后应递增 1

Posted

技术标签:

【中文标题】更新表和值的单列应从 0 开始,然后应递增 1【英文标题】:Update single column of table and value should start from 0 and then should increment by 1 【发布时间】:2018-09-24 11:02:18 【问题描述】:
$sqlcount1 ="SET uid = -1 UPDATE `agent_normal` SET `uid` = @a:=@a+1";
$result = mysqli_query($conn,$sqlcount1);

如何在核心 php 中编写此查询?

此查询在 mysql 中有效,但在核心 php 中无效。

这里我想更新单行表,值应该从 0 开始,然后增加 1。

【问题讨论】:

上面的代码核心PHP。请明确说明您正在尝试做什么以及遇到了什么问题。 How to renumber primary index的可能重复 @Mike 这个查询在核心 php 中不起作用,但在 phpmyadmin 中起作用。 @Nick 是的,两个查询都是一样的,但是我如何在核心 php 中使用它??? 【参考方案1】:

有几个问题。首先,如果您查看此answer,您会发现您的变量名不正确并且缺少分号。查询应该是:

$sqlcount1 ="SET @a = -1; UPDATE `agent_normal` SET `uid` = @a:=@a+1";

其次,要在一次调用中使用两个查询,您需要使用mysqli_multi_query。

$result = mysqli_multi_query($conn,$sqlcount1);

【讨论】:

以上是关于更新表和值的单列应从 0 开始,然后应递增 1的主要内容,如果未能解决你的问题,请参考以下文章

带有子查询的 MySQL 条件更新

如何使用php更新mongodb中具有键和值的子文档

如何使用php更新mongodb中具有键和值的子文档

PHP中返回数据的数据类型和值的代码。

DB2 根据另一列中的不同值更新具有递增数字的列

使用唯一的递增值更新表中的 int 列