SQL UPDATE更新的列数超过MySQL查询中设置的列数
我有一个名为notifier的表,有11列:SQL UPDATE更新的列数超过MySQL查询中设置的列数,mysql,sql,Mysql,Sql,我有一个名为notifier的表,有11列: CREATE TABLE `notifier` ( `NUM_UTILISATEUR` int(32) UNSIGNED NOT NULL, `NUM_NOTIFICATION` int(32) UNSIGNED NOT NULL, `LU` tinyint(1) NOT NULL, `DATE_NOTIFIER` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
CREATE TABLE `notifier` (
`NUM_UTILISATEUR` int(32) UNSIGNED NOT NULL,
`NUM_NOTIFICATION` int(32) UNSIGNED NOT NULL,
`LU` tinyint(1) NOT NULL,
`DATE_NOTIFIER` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`NUM_PENSEE` int(32) NOT NULL,
`NUM_CONTRIBUTION` int(32) NOT NULL,
`NUM_COMMENTAIRE` int(32) UNSIGNED NOT NULL,
`CODE_NOTIF` int(11) NOT NULL,
`VU` tinyint(1) NOT NULL,
`DATE_VU` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`DATE_LU` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
我只想更新两列:VU和DATE_LU。为此,我运行了以下mysql查询:
UPDATE notifier
SET VU=1, DATE_LU = date('Y-m-d H:i:s')
WHERE NUM_UTILISATEUR=130
AND NUM_PENSEE = 113
AND CODE_NOTIF=2
AND NUM_CONTRIBUTION=439
AND NUM_COMMENTAIRE=600"
但它更新了3列:VU,DATE_VU和DATE_LU,而不是我想要的2列(VU,DATE_LU)!我甚至用NOW()替换date('Y-m-dh:I:s'),但问题仍然存在
知道发生了什么吗 你的数据库里有触发器吗?没有。更新当前时间戳时,我的dbmaybe
中没有触发器?没有。当我删除当前时间戳时,我的问题仍然存在。您是否直接从phpmyadmin运行此查询?因为乍一看,如果您已经显示了所有内容,如果在更新当前时间戳时没有触发器和,那么问题只会出现在应用程序代码中,而不是数据库中。您的数据库中是否有触发器?根本没有。更新当前时间戳时,我的dbmaybe中没有触发器?没有。当我删除当前时间戳时,我的问题仍然存在。您是否直接从phpmyadmin运行此查询?因为乍一看,如果您已经显示了所有内容,并且在更新当前时间戳时没有触发器和,那么问题只会出现在应用程序代码中,而不会出现在数据库中