我在运行简单语句时收到以下警告,我很好奇为什么会得到它:
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: UPDATE
表1
SET
City ='Miami',
ExpDate ='201227',
User ='JDoe',
UpdDate ='2015-02-17 16:11:25'
WHERE
id= 61