Mysql 像插入一样更新
是否可以执行类似insert的更新 问题是值的数量要插入,我现在不知道。它可以是5或10。Mysql 像插入一样更新,mysql,Mysql,是否可以执行类似insert的更新 问题是值的数量要插入,我现在不知道。它可以是5或10。 您必须指定列名 UPDATE `table` SET `Col1`='y',`Col2`='n' ... WHERE `ID`='1' 或要更新一个或多个列/行: UPDATE `table` Set Col1='Y' WHERE `ID` IN ('1','11','13') replace与insert类似,它只是检查是否有重复的键,如果是,则删除该行,并插入新的一行,否则它只是插入 例如,如
您必须指定
列名
UPDATE `table` SET `Col1`='y',`Col2`='n' ... WHERE `ID`='1'
或要更新一个或多个列/行:
UPDATE `table` Set Col1='Y' WHERE `ID` IN ('1','11','13')
replace与insert类似,它只是检查是否有重复的键,如果是,则删除该行,并插入新的一行,否则它只是插入
例如,如果存在(名称、类型)的唯一索引,并且键入以下命令,则可以执行此操作
REPLACE INTO table1 (Name,Type,InitialValue,FinalValue) VALUES ('A',3,50,90 )
并且已经存在名称为'a'且类型为3的行,将替换该行
CREATE UNIQUE INDEX idx_name_type ON table1(Name,Type)
编辑:快速注释-替换总是先删除然后插入,所以在重载情况下使用它从来不是一个好主意,因为它在删除时需要独占锁,然后在插入时需要独占锁
一些数据库引擎
插入。。。在重复密钥更新时…您想做什么?您不能更改到“我的sql库”函数。是否更新多条记录?或者一条记录的多个列?@xdazz使用数组中的值(数组长度与受影响的行数匹配)更新具有特定id的多个记录。这看起来是一个糟糕的设计,不是一个缺少的函数。@User156414数组值从何而来?似乎op不是这个意思。我不认为它的列正在更新,但是不同的行,其中我的_id为1,每行的值不同耶!但我不确定OP到底想告诉我们什么。我想没有人能确定:)@AVD我只需要将所有行bool
wheremy_id
更新为数组中的值。
CREATE UNIQUE INDEX idx_name_type ON table1(Name,Type)