我是MySQL新手,我想用新数组更新MySQL中的整行,到目前为止,Update查询的所有示例都涉及为该列指定列名和新值,如下所示:
"UPDATE tablename SET columnname = '".$new_value."' WHERE columnname = '".$value."'";
Run Code Online (Sandbox Code Playgroud)
如何使用更新查询更新整个记录,还是应该使用替换查询?
任何建议将被认真考虑.
编辑:是否有一个查询不需要指定所有列名和新列值?
基本上我想要一个看起来像这样的查询:
使用thisarray更新整个行,其中primarykeycolumn ='thisvalue'
zer*_*kms 24
要做到这一点你需要
所以最终的查询看起来像
UPDATE tablename
SET col1 = 'val1', col2 = 'val2' ...
WHERE id = id_value
Run Code Online (Sandbox Code Playgroud)
除了上面显示的内容之外,没有任何魔术命令用于更新sql中的"整行".而REPLACE绝对不是什么您这里需要.
这取决于您是否要保留ID,假设ID为autoincrement.
REPLACE INTO mytable VALUES( new array ) ....也将更新ID,因为它实际上只是模拟一个DELETE和INSERT.
如果要保留ID,请使用 UPDATE mytable SET foo='bar', baz='bat' WHERE id=12
作为FYI,REPLACE通常方便映射表,其中唯一字段或复合主键不是自动增量.
| 归档时间: |
|
| 查看次数: |
33237 次 |
| 最近记录: |