ON DUPLICATE KEY UPDATE 主键一个存在了还是执行了insert而不是update
ON DUPLICATE KEY UPDATE在遇到重复键时,会执行更新操作而不是插入操作。如果主键已经存在于表中,就会执行UPDATE语句,更新对应的行数据。只有当主键不存在于表中时,才会执行INSERT语句,插入新的行数据。
例如,假设有一个名为"users"的表,其中有一个主键字段"id"。如果执行以下的SQL语句:
INSERT INTO users (id, name, age) VALUES (1, 'John', 25) ON DUPLICATE KEY UPDATE name = 'John', age = 25;
如果表中已经存在id为1的行数据,那么将会执行UPDATE语句,更新该行数据的name和age字段的值。如果表中不存在id为1的行数据,那么将会执行INSERT语句,插入一行新的数据。
原文地址: https://www.cveoy.top/t/topic/iYDG 著作权归作者所有。请勿转载和采集!