首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何更新MySQL中除一条特定字段语句之外的所有字段?

如何更新MySQL中除一条特定字段语句之外的所有字段?
EN

Stack Overflow用户
提问于 2017-03-15 08:54:06
回答 3查看 1.4K关注 0票数 0

假设我有一个表'tbl‘,其中包含4个字段模式:f1、f2、f3、f4。我有大量数据(在csv表单中,其字段的列表顺序与表模式的顺序相同),因为我设计它,但将字段- f3值保留为',‘,在csv中)需要从我的用户那里进行更正,但只保留f3不变。我认为有这样一个更新语句,如:

代码语言:javascript
复制
UPDATE tbl VALUES ('new-f1-val','new-f2-val', IGNORE, 'new-f3-val')

当db引擎看到此语句时,它将识别忽略为系统预定义的保留字/常量,它告诉db引擎忽略(即不更新)此特定字段。我不会讲童话故事,因为我经常面对用户的这些需求。

在MySQL中是否存在这样的语句,无论是当前的还是将来的,还是任何类似的语句/过程来实现相同的结果?

==================================

许多人不明白为什么我会想到这样的说法,所以我要在这里告诉我的实际动机:

  1. 表'tbl‘可能有许多字段。
  2. 不更新字段'f3'是永久条件。
  3. 没有关于更正可能需要哪些其他字段的信息,所以我要更新所有其他字段。
  4. 我希望把更新声明写得简短些。
  5. 我希望有一个像insert语句一样的update语句,而不列出每个字段名。
  6. 如果存在这样的语句,我可以将“创建-插入-语句”代码修改为“更新-更新-语句”代码。

==================================

编辑:我添加了描述文件格式的数据,用户给我完善我的问题。

==================================

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-03-15 09:41:16

您应该始终显式地在表中添加要更新的列,这是很好的做法,尽管您需要缩短查询。

尽管如此,尝试插入"null“并检查它是否有效。没有保证,我自己也没试过。

票数 2
EN

Stack Overflow用户

发布于 2017-03-15 09:01:13

我从来没有见过UPDATE像您在MySQL中那样编写它。一个与您想要的类似的典型的UPDATE应该如下所示:

代码语言:javascript
复制
UPDATE tbl
SET f1 = 'new-f1-val',
    f2 = 'new-f2-val',
    f4 = 'new-f4-val'
WHERE <some condition>

如果不想修改f3列,那么就把它排除在UPDATE语句之外。

票数 3
EN

Stack Overflow用户

发布于 2017-03-15 09:06:48

检查更新查询语法。https://dev.mysql.com/doc/refman/5.7/en/update.html

代码语言:javascript
复制
Update tbl set f1=new-f1-val, f2=new-f2-val, f4=new-f4-val
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42805001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档