我正在使用 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/