|
1
0
更新语句不会导致生成自动增加的ID,因此在更新后调用mysql_insert_id是没有意义的。 正如文档所说,mysql插入id()用于生成自动递增值的insert语句,或直接调用'last插入id(expr)^的update/insert语句。
你已经拿到了
编辑,你显然在问别的事情。
你有点像
您想获取查询更新的任何行的主键吗?这是你真正的问题吗? 如果是这样的话。否。运行单独的select查询以获取该ID。 |
|
2
0
更新语句不会导致生成自动增加的ID,因此在更新后调用mysql_insert_id是没有意义的。 正如文档所说,mysql插入id()用于生成自动递增值的insert语句,或直接调用'last插入id(expr)^的update/insert语句。
你已经拿到了
|
|
|
3
0
如果update语句修改了自动递增的值,mysql_insert_id将只返回update语句的id。大概,如果您已经根据ID进行了更新,那么您就有了ID,所以在更新之后只需根据ID进行选择。 编辑:我不是建议您在更新时修改id列,我只是说这是MySQL_insert_id将返回更新查询值的唯一情况。 对注释的响应:那么您应该做的是,首先选择通过登录/密码获取行的ID,然后根据选择结果中的行的ID进行更新。 |
|
|
4
0
为了澄清,忘记我最初发布的代码-以下是我需要的简单方法: 首先,我更新: 更新db_test.tbl_test 设置所有者ID=55 其中login='user_name'和passwd='password'以及owner_id=-1 然后我检查是否有任何行被更新,使用mysql_-affected_rows()进行更新。如果它是一个(不能是更多,因为字段“login”是唯一的),那么我想获取此行的ID,而不只是执行另一个选择。 这背后的逻辑是什么? 它将是一个多播放器数据库存储,有几个服务器。 我需要以某种方式强制一个玩家每次只能登录一次。 这是通过锁定它的帐户来完成的;“-1”的“所有者ID”表示一个可自由玩的帐户,如果不是,则表示该玩家已经在玩了。 希望现在能清楚一点。 |
|
5
0
Poni,我想 mysql_affected_rows() 您的职能是:
|
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |