2017-06-22 5 views
0

mariaDb 10.2.6データベースにデータベースダンプをインポートしようとしています。 Magento 2データベースです。これは私に重複キー1つのエラーを与える失敗プライマリauto_increment値が0のテーブルをmariadbにインポートする

# Dump of table store_website 
# ------------------------------------------------------------ 

DROP TABLE IF EXISTS `store_website`; 

CREATE TABLE `store_website` (
    `website_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Website Id', 
    `code` varchar(32) DEFAULT NULL COMMENT 'Code', 
    `name` varchar(64) DEFAULT NULL COMMENT 'Website Name', 
    `sort_order` smallint(5) unsigned NOT NULL DEFAULT 0 COMMENT 'Sort Order', 
    `default_group_id` smallint(5) unsigned NOT NULL DEFAULT 0 COMMENT 'Default Group Id', 
    `is_default` smallint(5) unsigned DEFAULT 0 COMMENT 'Defines Is Website Default', 
    PRIMARY KEY (`website_id`), 
    UNIQUE KEY `STORE_WEBSITE_CODE` (`code`), 
    KEY `STORE_WEBSITE_SORT_ORDER` (`sort_order`), 
    KEY `STORE_WEBSITE_DEFAULT_GROUP_ID` (`default_group_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Websites'; 

LOCK TABLES `store_website` WRITE; 
/*!40000 ALTER TABLE `store_website` DISABLE KEYS */; 

INSERT INTO `store_website` (`website_id`, `code`, `name`, `sort_order`, `default_group_id`, `is_default`) 
VALUES 
    (0,'admin','Admin',0,0,0), 
    (1,'my_website','MY_WEBSITE',0,1,1); 

/*!40000 ALTER TABLE `store_website` ENABLE KEYS */; 
UNLOCK TABLES; 

このテーブルのインポートがあります。明らかに、値0を新しいインクリメントとして挿入しようとしますが、これは1になりますが、すでにテーブルに入っています。

/*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; 
/*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; 
/*!40101 SET @[email protected]@COLLATION_CONNECTION */; 
/*!40101 SET NAMES utf8 */; 
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 
/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 
/*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */; 

答えて

0

私の知る限りは、InnoDBエンジンはNO_AUTO_VALUE_ON_ZEROモードをサポートしていません知っている: このエラーは、これらのオプションが設定されていても表示されます。それはMyISAMによってサポートされるべきです。

auto_incrementカラムでゼロをキーとして使用することはお勧めできませんので、避けることをお勧めします。データをMyISAM-tablesにインポートし、ゼロキーを正の数に変更してInnoDBに切り替えることはできますか?

+0

ゼロは私が使用しているフレームワークから来ていますが、なぜ彼らがそれを使用するのかはわかりません。 おそらく、auto_incrementが1で始まると予想されたユーザーエラーの一部ですが、0に設定されていましたか? – DarsVaeda

+0

Grrr ...フレームワークが途中で邪魔になる別のケース。 –

関連する問題