经过一天多的查找和尝试解决问题后,是时候在这里提问了。
我们使用 Firebird 多年(大约 6 年),当前版本 2.5.2 很久以前更新,我们遇到了无法更新语句的问题。
SQL 语句也可以,即使“where”条件与主键一起使用。
问题:点击执行后更新卡住了
a) 从 PHP 脚本返回内部服务器错误 500
b) 直接来自 FlameRobin 或 IBQ 它冻结并且根本没有响应
gfix -v -full
上给了我错误),重新转储后没有错误,但问题仍然出现经过一番调查,我终于从 fbtrace 得到了这个:
2016-11-28T14:25:28.4410 (9473:0x7f1489cb1f08) PREPARE_STATEMENT
phones.fdb (ATT_273856, VILAS:NONE, UTF8, TCPv4:10.1.1.195)
/usr/bin/flamerobin:10868
(TRA_78838, CONCURRENCY | WAIT | READ_WRITE)
Statement 422749:
-------------------------------------------------------------------------------
UPDATE TELEFONI_CISLA SET DATUM_PRIDANI = '2011-7-3' WHERE ID = '17274'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PLAN (TELEFONI_CISLA INDEX (RDB$PRIMARY4))
0 ms
2016-11-28T14:25:28.4780 (9473:0x7f1489cb1f08) EXECUTE_STATEMENT_START
phones.fdb (ATT_273856, VILAS:NONE, UTF8, TCPv4:10.1.1.195)
/usr/bin/flamerobin:10868
(TRA_78838, CONCURRENCY | WAIT | READ_WRITE)
Statement 422749:
-------------------------------------------------------------------------------
UPDATE TELEFONI_CISLA SET DATUM_PRIDANI = '2011-7-3' WHERE ID = '17274'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PLAN (TELEFONI_CISLA INDEX (RDB$PRIMARY4))
我不知道该检查什么,几乎迷失了。只是想让您知道我们没有更改 FB 或服务器配置中的任何内容。
一切都是由在后台运行的许多脚本之一(来自 cron)引起的,该脚本在几个小时内没有提交就进行了开放事务。 回来就好了。