是否可以像insert那样执行更新?
UPDATE `table` SET `value` ('N','N','N','N','Y','Y','Y','N', 'N') WHERE `my_id` = '1'
Run Code Online (Sandbox Code Playgroud)
问题是我现在不插入的值的数量。它可以是 5 或 10。

替换就像插入一样,它只是检查是否有重复的键,如果是,则删除该行,并插入新的行,否则仅插入
例如,如果有 (Name,Type) 的唯一索引并且键入以下命令,则可以执行此操作
REPLACE INTO table1 (Name,Type,InitialValue,FinalValue) VALUES ('A',3,50,90 )
Run Code Online (Sandbox Code Playgroud)
并且已经存在 Name = 'A' 和 Type = 3 的行,它将被替换
CREATE UNIQUE INDEX idx_name_type ON table1(Name,Type)
Run Code Online (Sandbox Code Playgroud)
编辑:快速说明 - REPLACE 总是删除然后插入,所以在重负载下使用它从来都不是一个好主意,因为它在删除时需要排他锁,然后在插入时
一些数据库引擎有
插入...在重复的密钥更新...
| 归档时间: |
|
| 查看次数: |
5377 次 |
| 最近记录: |