假设我有一个表'tbl‘,其中包含4个字段模式:f1、f2、f3、f4。我有大量数据(在csv表单中,其字段的列表顺序与表模式的顺序相同),因为我设计它,但将字段- f3值保留为',‘,在csv中)需要从我的用户那里进行更正,但只保留f3不变。我认为有这样一个更新语句,如:
UPDATE tbl VALUES ('new-f1-val','new-f2-val', IGNORE, 'new-f3-val')当db引擎看到此语句时,它将识别忽略为系统预定义的保留字/常量,它告诉db引擎忽略(即不更新)此特定字段。我不会讲童话故事,因为我经常面对用户的这些需求。
在MySQL中是否存在这样的语句,无论是当前的还是将来的,还是任何类似的语句/过程来实现相同的结果?
==================================
许多人不明白为什么我会想到这样的说法,所以我要在这里告诉我的实际动机:
==================================
编辑:我添加了描述文件格式的数据,用户给我完善我的问题。
==================================
发布于 2017-03-15 09:41:16
您应该始终显式地在表中添加要更新的列,这是很好的做法,尽管您需要缩短查询。
尽管如此,尝试插入"null“并检查它是否有效。没有保证,我自己也没试过。
发布于 2017-03-15 09:01:13
我从来没有见过UPDATE像您在MySQL中那样编写它。一个与您想要的类似的典型的UPDATE应该如下所示:
UPDATE tbl
SET f1 = 'new-f1-val',
f2 = 'new-f2-val',
f4 = 'new-f4-val'
WHERE <some condition>如果不想修改f3列,那么就把它排除在UPDATE语句之外。
发布于 2017-03-15 09:06:48
检查更新查询语法。https://dev.mysql.com/doc/refman/5.7/en/update.html
Update tbl set f1=new-f1-val, f2=new-f2-val, f4=new-f4-valhttps://stackoverflow.com/questions/42805001
复制相似问题