Magento错误SQLSTATE [23000]:1062重复条目log_visitor_info

时间:2017-02-05 13:49:26

标签: mysql magento phpmyadmin mamp

我正在尝试使用MAMP在本地设置一个Magento网站,每次我尝试时,我都会遇到一个反复出现的问题。使用PHPMyAdmin(默认配置)导出数据库,并使用MAMP 4重新导入PHPMyAdmin(默认配置)。

我更新网站网址,清除缓存等。

当我第一次加载网站时,一切似乎都正确导入并正常工作。但是,当我通过单击链接或重新加载同一页面加载任何其他页面时,我会收到以下错误。

错误

XXXXXX =代表我的本地开发路径,已删除该路径以保护客户隐私。

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '0' for key 'PRIMARY', query was: INSERT INTO `log_visitor_info` (`visitor_id`, `http_referer`, `http_user_agent`, `http_accept_charset`, `http_accept_language`, `server_addr`, `remote_addr`) VALUES (?, ?, ?, ?, ?, ?, ?)

Trace:
#0 /XXXXXXX/lib/Varien/Db/Statement/Pdo/Mysql.php(110): Zend_Db_Statement_Pdo->_execute(Array)
#1 /XXXXXXX/app/code/core/Zend/Db/Statement.php(291): Varien_Db_Statement_Pdo_Mysql->_execute(Array)
#2 /XXXXXXX/lib/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute(Array)
#3 /XXXXXXX/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('INSERT INTO `na...', Array)
#4 /XXXXXXX/lib/Varien/Db/Adapter/Pdo/Mysql.php(504): Zend_Db_Adapter_Pdo_Abstract->query('INSERT INTO `na...', Array)
#5 /XXXXXXX/lib/Zend/Db/Adapter/Abstract.php(576): Varien_Db_Adapter_Pdo_Mysql->query('INSERT INTO `na...', Array)
#6 /XXXXXXX/app/code/core/Mage/Log/Model/Resource/Visitor.php(203): Zend_Db_Adapter_Abstract->insert('l...', Array)
#7 /XXXXXXX/app/code/core/Mage/Log/Model/Resource/Visitor.php(129): Mage_Log_Model_Resource_Visitor->_saveVisitorInfo(Object(Mage_Log_Model_Visitor))
#8 /XXXXXXX/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(463): Mage_Log_Model_Resource_Visitor->_afterSave(Object(Mage_Log_Model_Visitor))
#9 /XXXXXXX/app/code/core/Mage/Core/Model/Abstract.php(318): Mage_Core_Model_Resource_Db_Abstract->save(Object(Mage_Log_Model_Visitor))
#10 /XXXXXXX/app/code/core/Mage/Log/Model/Visitor.php(198): Mage_Core_Model_Abstract->save()
#11 /XXXXXXX/app/code/core/Mage/Core/Model/App.php(1358): Mage_Log_Model_Visitor->initByRequest(Object(Varien_Event_Observer))
#12 /XXXXXXX/app/code/core/Mage/Core/Model/App.php(1337): Mage_Core_Model_App->_callObserverMethod(Object(Mage_Log_Model_Visitor), 'initByRequest', Object(Varien_Event_Observer))
#13 /XXXXXXX/app/Mage.php(448): Mage_Core_Model_App->dispatchEvent('controller_acti...', Array)
#14 /XXXXXXX/app/code/core/Mage/Core/Controller/Varien/Action.php(527): Mage::dispatchEvent('controller_acti...', Array)
#15 /XXXXXXX/app/code/core/Mage/Core/Controller/Front/Action.php(69): Mage_Core_Controller_Varien_Action->preDispatch()
#16 /XXXXXXX/app/code/core/Mage/Core/Controller/Varien/Action.php(407): Mage_Core_Controller_Front_Action->preDispatch()
#17 /XXXXXXX/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(254): Mage_Core_Controller_Varien_Action->dispatch('index')
#18 /XXXXXXX/app/code/core/Mage/Core/Controller/Varien/Front.php(172): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#19 /XXXXXXX/app/code/core/Mage/Core/Model/App.php(365): Mage_Core_Controller_Varien_Front->dispatch()
#20 /XXXXXXX/app/Mage.php(684): Mage_Core_Model_App->run(Array)
#21 /XXXXXXX/index.php(83): Mage::run('', 'store')
#22 {main}

Error log record number: 1181609270934

我尝试过的事情......

1)截断访问者表:

TRUNCATE log_customer;
TRUNCATE log_quote;
TRUNCATE log_summary;
TRUNCATE log_summary_type;
TRUNCATE log_url;
TRUNCATE log_url_info;
TRUNCATE log_visitor;
TRUNCATE log_visitor_info;
TRUNCATE log_visitor_online;

这解决了初始页面加载的问题,一旦我访问另一个页面,同样的问题就会返回。

2)使用app / etc / local.xml

禁用本地模块

3)清除缓存,会话数据

其他信息:

  • 管理区域正常运行
  • Magento ver。 1.9.2.4
  • MAMP版本4.0.6(372)

显示创建表

-- phpMyAdmin SQL Dump
-- version 4.6.4
-- https://www.phpmyadmin.net/
--
-- Host: localhost:3306
-- Generation Time: Feb 05, 2017 at 03:36 PM
-- Server version: 5.6.33
-- PHP Version: 5.6.27

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Database: `XXXXXXX`
--

-- --------------------------------------------------------

--
-- Table structure for table `log_visitor_info`
--

CREATE TABLE `log_visitor_info` (
`visitor_id` bigint(20) UNSIGNED NOT NULL DEFAULT '2' COMMENT 'Visitor ID',
`http_referer` varchar(255) DEFAULT NULL COMMENT 'HTTP Referrer',
`http_user_agent` varchar(255) DEFAULT NULL COMMENT 'HTTP User-Agent',
`http_accept_charset` varchar(255) DEFAULT NULL COMMENT 'HTTP Accept-Charset',
`http_accept_language` varchar(255) DEFAULT NULL COMMENT 'HTTP Accept-Language',
`server_addr` varbinary(16) DEFAULT NULL,
`remote_addr` varbinary(16) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `log_visitor_info`
--

INSERT INTO `log_visitor_info` (`visitor_id`, `http_referer`,    `http_user_agent`, `http_accept_charset`, `http_accept_language`, `server_addr`,   `remote_addr`) VALUES
(0, NULL, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:50.0) Gecko/20100101 Firefox/50.0', NULL, 'en-US,en;q=0.5', 0x7f000001, 0x7f000001);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `log_visitor_info`
--
ALTER TABLE `log_visitor_info`
ADD PRIMARY KEY (`visitor_id`);

3 个答案:

答案 0 :(得分:1)

问题已解决

  1. auto-increment在该表(log_visitor_info)的primary-key上被禁用。
  2. default更改为none,将attributes更改为empty

答案 1 :(得分:0)

我刚刚在我的最新项目中遇到过这个问题,我使用phpmyadmin解决了这个问题,导入sql并将兼容性设置为None,并自动增加xero值以进行检查。

答案 2 :(得分:0)

我有同样的问题。为了解决我的问题,我连接了phpmyadmin。

我选择了数据库中的指定表,并使用了mysql工具“ Analyse”,“ verify”和“ repair”。

这对我有用,希望对您有帮助。