mysql根据不同的id,修改莫一字段不同的值 批量修改
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql根据不同的id,修改莫一字段不同的值 批量修改相关的知识,希望对你有一定的参考价值。
就是下面的sql语句,谁能帮我改改 !!update shopex_orders set cost_mony in('91.56,262.66,-199.44,128.36,147.9') where order_id in(20101030097022,20101030109316,20101030105619,20101030104710,20101030102239)
这种批量修改的功能用一句SQL是不能实现的。update shopex_orders set cost_mony='91.56' where order_id=20101030097022;update shopex_orders set cost_mony=262.66' where order_id=20101030109316;update shopex_orders set cost_mony='-199.44' where order_id=20101030105619;update shopex_orders set cost_mony='128.36' where order_id=20101030104710;update shopex_orders set cost_mony='147.9' where order_id=20101030102239; 参考技术A 这种通常先用一表变量 (例子如下)或临时表将发来的数组存入;然后将你的表 INNER JOIN 这个临时表即可更新你表中的值了。DECLARE @tmptbl TABLE ( [cost_mony] real NOT NULL, [order_id] int NOT NULL);MySQL:多个字段的唯一约束[重复]
【中文标题】MySQL:多个字段的唯一约束[重复]【英文标题】:MySQL: Unique constraint on multiple fields [duplicate] 【发布时间】:2011-01-31 00:47:24 【问题描述】:我有两个表 --> 变量 (id, name) 和 Variable_Entries (id, var_id, value)。
我希望每个变量都有一组唯一的条目。如果我使值条目唯一,那么不同的变量将无法具有相同的值,这是不正确的。
有没有办法让相同的 var_id 的值列唯一?
【问题讨论】:
【参考方案1】:是的,您可以创建一个复合unique key:
ALTER TABLE variable_entries ADD UNIQUE (var_id, value);
【讨论】:
感谢composite这个词,让我明白了它的作用。【参考方案2】:是的:
alter table Variable_Entries add unique (var_id, value);
现在你有一个跨越 var_id 和 value 的唯一约束。换句话说,var_id 和 value 的出现都不能出现多次。
【讨论】:
谢谢,还有下面的人——我在任何地方都找不到这个 在创建表时有没有办法强制执行此操作? 你可能不想知道,但为了别人,create table tbl_table ( id integer not null auto_increment, fname varchar(255), lname varchar(255), CONSTRAINT tbl_table PRIMARY KEY (id), unique (fname,lname) )
这是否意味着 var_id 的特定值可以出现多次,但 var_id 和 value 的特定组合不能出现多次?
@Scorb 是的。就是这个意思。【参考方案3】:
为组合字段 var_id/value 添加一个 Variable_Entries 的唯一键。
此外,您应该始终对表名使用单数词(用户而不是用户)。切勿在表名中使用大写字符,因为这会导致您在不同的操作系统上做噩梦。
【讨论】:
我想知道为什么我们总是要为表名使用单数名称? “您应该始终使用单数来表示表名” - 我不同意。我总是使用复数形式,而且我知道我并不孤单(例如,ActiveRecord 也是如此)。 CakePHP 依赖于表名的复数...这是一个有趣的评论 :) 大写,不过...我同意 复数与单数表名是一场宗教辩论***.com/questions/338156/…以上是关于mysql根据不同的id,修改莫一字段不同的值 批量修改的主要内容,如果未能解决你的问题,请参考以下文章
mysql怎么获取具有相同ID,但是其余字段不同,怎么获取图中id相同,cid最小的值。急求 求大神