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数据库表的字段类型

mysql怎么获取具有相同ID,但是其余字段不同,怎么获取图中id相同,cid最小的值。急求 求大神

mysql 连接查询时如何从第二章表中根据不同条件获取不同字段

MySQL-如何根据不同列但同一行中的值选择列? [关闭]

SQL语句:统计指定字段,等于不同值的条数

MySQL,根据列值从不同的行中选择