php - 更新时 MS Access 错误 "Operation must use an updatable query"

标签 php mysql sql ms-access

我正在使用 PHP PDO 将 MS Access 系统迁移到 mySQL 系统。一切正常,直到 PHP 停止读取 Access 表上的一些记录。该表有一个长整型数据类型的 ID 字段。我不知道为什么,但 ID 从 0 开始到 16949,然后跳到 36573745,最后到 36581986。PDO 无法读取这些更高的数字,我不明白为什么。

无论如何,为了解决这个问题,我正在尝试更新这些较高的数字以继续较低 ID 的正常序列。但 Access 无法理解我的查询,而且我不知道如何让它运行。

这是查询

UPDATE Validador_Manut SET ID = (
    SELECT (Max(ID) + 1) FROM Validador_Manut WHERE ID < 100000
) WHERE ID > 100000

它向我显示了此错误Uperation 必须使用可更新查询

最佳答案

如果你只是想将ID > 100000降低到16949之后的连续数字 那你为什么不简单地尝试一下呢?

UPDATE Validador_Manut SET [ID] = [ID]-36556795 WHERE ID > 100000 

36573745 - 36556795 = 16950

关于php - 更新时 MS Access 错误 "Operation must use an updatable query",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10498112/

相关文章:

php - 如何为此查询添加符号`

php ini 使用 parse_ini_file 创建数组

python - 不同列名的 WHERE 子句

php - 需要替代解决方案,而不是从触发器调用 PHP 代码

sql - 正则表达式类似于 Hive 上的电话号码,没有前缀 (+01)

sql - 我正在尝试复制文件,但收到错误消息

php - 如何使用 td 中的 onclick 事件添加表格行

PHP 和 MySQL 总是为列插入 0

MySQL通过从另一列中选择一个值来计算一列中的值

mysql - CakePHP 1.3 未保存到数据库,但 sql 语句正确且 insertID 正确增加