当前位置:首页 > 数据库 > 正文

mysql怎么增加一行?使用行插入语法

mysql怎么增加一行?使用行插入语法

mysql同时插入多行时怎么使用onduplicatekeyupdate? 在MySQL中,经常使用ON DUPLICATE KEY UPDATE来插入数据或更新已有记...

mysql同时插入多行时怎么使用onduplicatekeyupdate?

在MySQL中,经常使用ON DUPLICATE KEY UPDATE来插入数据或更新已有记录。然而,在联调时发现使用此语法时,返回的影响行数与预期不符。通过网上搜索发现,受影响的行数根据操作类型有所不同。在MySQL中,ON DUPLICATE KEY UPDATE在处理数据时,受影响的行数会根据操作类型变化。

传统方法需要通过SELECT查询断设备是否已存在,若存在则UPDATE,不存在则INSERT,这不仅需要多条SQL语句,还可能需要事务支持,操作繁琐。而ON DUPLICATE KEY UPDATE提供了更简洁的解决方。

你可以在插入B表时用 INSERT ... ON DUPLICATE KEY UPDATE 语句。

其次,考虑 `ON DUPLICATE KEY UPDATE` 语句。当主键或唯一键重复时,此方法将相应的更新操作。尝试插入ID为1的员工记录并更新其他字段(如age为25),插入操作将不会改变现有记录,且数据总数保持不变。此方法需确保插入约束为主键或唯一约束。

如果您指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY KEY中出现重复值,则旧行UPDATE。

最新文章