2017-08-30 75 views
0

當運行一個漂亮的平均操作,我的應用程序崩潰與錯誤消息:BIGINT UNSIGNED值超出了範圍非常小(4char)值

[error] [exception.RedBean_Exception_SQL] [22003] - SQLSTATE[22003]: Numeric value out of range: 1690 BIGINT UNSIGNED value is out of range in '(`zurmo`.`account_read`.`count` - 1)' 

此錯誤是困擾着我,因爲它是類似的錯誤來自this question的消息,但對於MUCH更小的值/字符計數。更令人困惑的是,我知道數據庫中有較大的常規值int

現在,我可以詳細瞭解application,但這對於應用程序甚至數據庫接口(redbean)來說似乎都不是問題,即使它們都在此標記。

獲得進一步的信息,這裏是堆棧跟蹤:

REQUEST_URI=/app/index.php/zurmo/role/details?id=4 
HTTP_REFERER=https://************/app/index.php/zurmo/role/details?id=4 
--- 
2017/08/30 07:27:57 [warning] [application] Exception class: RedBean_Exception_SQL 
#0 /var/www/html/redbean/rb.php(777): RedBean_Driver_PDO->runQuery('update account_...', Array) 
#1 /var/www/html/redbean/rb.php(1779): RedBean_Driver_PDO->Execute('update account_...', Array) 
#2 /var/www/html/redbean/rb.php(7534): RedBean_Adapter_DBAdapter->exec('update account_...', Array) 
#3 /var/www/html/redbean/rb.php(7440): RedBean_Facade::query('exec', 'update account_...', Array) 
#4 /var/www/html/app/protected/modules/zurmo/utils/ReadPermissionsOptimizationUtil.php(962): RedBean_Facade::exec('update account_...') 
#5 /var/www/html/app/protected/modules/zurmo/utils/ReadPermissionsOptimizationUtil.php(1022): ReadPermissionsOptimizationUtil::decrementCount('account_read', 19716, Object(Role)) 
#6 /var/www/html/app/protected/modules/zurmo/utils/ReadPermissionsOptimizationUtil.php(1053): ReadPermissionsOptimizationUtil::decrementParentRolesCounts('account_read', 19716, Object(Role)) 
#7 /var/www/html/app/protected/modules/zurmo/utils/ReadPermissionsOptimizationUtil.php(668): ReadPermissionsOptimizationUtil::bulkDecrementParentRolesCounts('account_read', Array, Object(Role)) 
#8 /var/www/html/app/protected/modules/zurmo/utils/ReadPermissionsOptimizationUtil.php(604): ReadPermissionsOptimizationUtil::roleParentSetOrRemoved(false, Object(Role)) 
#9 /var/www/html/app/protected/modules/zurmo/utils/AllPermissionsOptimizationUtil.php(357): ReadPermissionsOptimizationUtil::roleParentBeingRemoved(Object(Role)) 
#10 /var/www/html/app/protected/modules/zurmo/models/Role.php(181): AllPermissionsOptimizationUtil::roleParentBeingRemoved(Object(Role)) 
#11 /var/www/html/app/protected/core/models/RedBeanModel.php(1909): Role->beforeSave() 
#12 /var/www/html/app/protected/modules/zurmo/models/Item.php(123): RedBeanModel->save(false, NULL) 
#13 /var/www/html/app/protected/modules/zurmo/utils/ZurmoControllerUtil.php(162): Item->save(false) 
#14 /var/www/html/app/protected/modules/zurmo/utils/ZurmoControllerUtil.php(109): ZurmoControllerUtil->saveModelFromSanitizedData(Array, Object(Role), false, 'Philippines Des...', false) 
#15 /var/www/html/app/protected/modules/zurmo/components/ZurmoBaseController.php(738): ZurmoControllerUtil->saveModelFromPost(Array, Object(Role), false, 'Philippines Des...', false) 
#16 /var/www/html/app/protected/modules/zurmo/controllers/RoleController.php(99): ZurmoBaseController->attemptToSaveModelFromPost(Object(Role)) 
#17 /var/www/html/app/protected/modules/zurmo/controllers/RoleController.php(74): ZurmoRoleController->actionEdit('4') 
#18 [internal function]: ZurmoRoleController->actionDetails('4') 
#19 /var/www/html/yii/framework/web/actions/CAction.php(109): ReflectionMethod->invokeArgs(Object(ZurmoRoleController), Array) 
#20 /var/www/html/yii/framework/web/actions/CInlineAction.php(47): CAction->runWithParamsInternal(Object(ZurmoRoleController), Object(ReflectionMethod), Array) 
#21 /var/www/html/yii/framework/web/CController.php(308): CInlineAction->runWithParams(Array) 
#22 /var/www/html/yii/framework/web/filters/CFilterChain.php(133): CController->runAction(Object(CInlineAction)) 
#23 /var/www/html/yii/framework/web/filters/CFilter.php(40): CFilterChain->run() 
#24 /var/www/html/yii/framework/web/filters/CFilterChain.php(130): CFilter->filter(Object(CFilterChain)) 
#25 /var/www/html/yii/framework/web/CController.php(291): CFilterChain->run() 
#26 /var/www/html/yii/framework/web/CController.php(265): CController->runActionWithFilters(Object(CInlineAction), Array) 
#27 /var/www/html/yii/framework/web/CWebApplication.php(286): CController->run('details') 
#28 /var/www/html/yii/framework/web/CWebApplication.php(141): CWebApplication->runController('zurmo/role/deta...') 
#29 /var/www/html/yii/framework/base/CApplication.php(185): CWebApplication->processRequest() 
#30 /var/www/html/app/protected/core/components/WebApplication.php(88): CApplication->run() 
#31 /var/www/html/app/index.php(75): WebApplication->run() 
#32 {main} 

可以做些什麼來解決這個問題?我覺得它與數據庫的配置有某種關係,但我不知道該看什麼。

+0

它是否是SIGNED-UNSIGNED公式值類型的結果?如果是這種情況,Mysql可能會生效,並且您沒有在SQL查詢中明確地類型化操作數。嘗試使用日誌文件中的值打印查詢以進一步分析它。 – Whome

+0

@Whome你需要查詢本身嗎?或其他信息集合? –

+0

我不需要查詢它只是一個提示也許你應該運行一個額外的調試,以確定準確的sql查詢和參數值類型被提交(PreparedStatement,語句,類型參數,A + B + C列算術?) – Whome

回答

0

count可能是'保留'元素。

SHOW CREATE TABLE table_name可能有一些關鍵數據類型的細節。

在SQL中搜索SQLSTATE 22003,您會發現許多以前的體驗以及許多解決錯誤消息的解決方案。