Kouhei Sutou
kou****@clear*****
2015年 7月 3日 (金) 21:58:57 JST
須藤です。 In <20150****@domai*****> "[groonga-dev,03330] Re: Mroonga 5.03 ストレージモードで MySQL 5.6 のレプリケーションが切断される(解決)" on Wed, 01 Jul 2015 17:01:58 +0900, 各務 洋 <kagam****@outwa*****> wrote: > 手元の仮想環境で、レプリケーションが切断されなくなるのを確認しました。 よかったです! 確認ありがとうございます! >>> data truncated for primary key column: <id> >>> って出て、Update 文が出来ない時があるのですが、IGNORE 付けると出来るの >>> です。 >>> id は Update 対象じゃないんですけどね……。 >> >> ソースを確認するとプライマリーキーなフィールドが書き込み対象 >> に入っているときにそれがでそうです。UPDATEのSETにプライマリー >> キーを指定しているわけ、ではないですよねぇ、さすがに。 > > はい。ないのです。 ですよねぇ。 > 構造としては、 > > CREATE TABLE `tbl_test_pat_0005` ( > `id` BIGINT(20) NOT NULL AUTO_INCREMENT, > `t1_date` TIMESTAMP NOT NULL DEFAULT current_timestamp, > `t2_date` TIMESTAMP NOT NULL DEFAULT '0000-00-00', > `a_id` BIGINT(20) NOT NULL Default 0, > `t_text` LONGTEXT, > PRIMARY KEY (`id`), > UNIQUE KEY `a_id` (`a_id`), > FULLTEXT INDEX `t_text` (`t_text` ) COMMENT 'normalizer "NormalizerMySQLUnicodeCIExceptKanaCIKanaWithVoicedSoundMark"' > ) ENGINE=mroonga DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; > ; > > これに、 > > UPDATE tbl_test_pat_0005 SET t2_date = '2015-07-01 00:00:00' WHERE a_id IN (1, 2, 3……) > > のような UPDATE 文 で、WHERE は サブクエリーだったり、別のフィールドだ > ったりしますが、いずれにせよ対象は複数件ある状態です。 うーん、クエリーの中にid(プライマリーキーのカラム)が入って いないってことですよね?妙ですね。。。 > IGNORE つけて UPDATE すると、大抵複数の Warning がでますが、値は期待通 > り書き換わっています。 > > 1度 UPDATE が完了すると、同じSQLを再実行して対象件数が同じでもエラーが > でないのを記憶しています。 > > ですので、なかなか再現手順が作れない状態なのです。 そうですか。。。 再現したら報告してもらえると助かります。 -- 須藤 功平 <kou****@clear*****> 株式会社クリアコード <http://www.clear-code.com/> Groongaベースの全文検索システムを総合サポート: http://groonga.org/ja/support/ パッチ採用 - プログラミングが楽しい人向けの採用プロセス: http://www.clear-code.com/recruitment/