6

当我尝试在 Magento 中删除产品时,出现下一个错误,我不知道问题出在哪里。

SQLSTATE[22003]:数值超出范围:1690 BIGINT UNSIGNED 值超出范围

4

3 回答 3

8

我设法使它在第 221 行编辑文件 app/code/core/Mage/Sales/Model/Resource/Quote.php 工作:

'items_count' => new Zend_Db_Expr("CASE WHEN q.items_count>0 THEN " . $adapter->quoteIdentifier('q.items_count') . ' - 1 ELSE 0 END')

基本上我添加了 case when 语句以防止它在值已经为 0 时减去 1

于 2015-09-24T11:07:38.157 回答
6

请试试这个:

DELETE FROM sales_flat_quote WHERE updated_at < DATE_SUB(Now(),INTERVAL 30 DAY);

这个对我有用。

于 2014-08-26T06:00:18.103 回答
2

要解决此问题,请按照以下步骤操作

  1. 使用PhpMyAdmin进入您的数据库。
  2. 进行备份(始终是先备份的好习惯)。
  3. 选择您正在使用的Magento 数据库。
  4. 选择表sales_flat_quote(在第二页)。
  5. 选择结构选项卡
  6. 在名为“<strong>items_count”的行上选择“<strong>change”</li>
  7. 转到名为“<strong>Attributes”的列上的下拉列表,并将值更改为空白 “<strong>(无值)”的最高值,而不是默认选择“<strong>UNSIGNED”。
  8. 点击保存,一切顺利!

并立即删除产品

于 2015-05-01T11:38:44.347 回答