0

簡単なステートメントを実行すると、次の警告が表示されました。なぜそれが表示されたのか興味がありました。

UPDATE `Table1` 
SET `City`='Miami', 
    `ExpDate`='201227', 
    `User`='JDoe', 
    `UpdDate`='2015-02-17 16:11:25' 
WHERE `id` = 61`

Table1構造は次のとおりです。

CREATE TABLE `Table1` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `User` varchar(10) COLLATE utf8_bin DEFAULT NULL,
  `City` varchar(25) COLLATE utf8_bin DEFAULT NULL,
  `ExpDate` varchar(10) COLLATE utf8_bin DEFAULT NULL,
  `UpdDate` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `Unique_Index` (`User`,`City`),
  UNIQUE KEY `id` (`id`),
  KEY `ALT1_IDX_Table1` (`User`,`City`)
) ENGINE=InnoDB AUTO_INCREMENT=64 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;

ログからの完全なエラー:

2015-02-17 16:10:08 1548 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it invokes a trigger or a stored function that inserts into an AUTO_INCREMENT column. Inserted values cannot be logged correctly. Statement: UPDATETable1 SETCity ='Miami', ExpedDate ='201227', User ='JDoe', UpdDate ='2015-02-17 16:11:25' WHEREid= 61

4

1 に答える 1