当前位置: 首页 > 面试题库 >

MYSQL是否会在更新时覆盖相同值的列?

闻人英韶
2023-03-14
问题内容

例如,在mysql中更新表时:

user

user_id | user_name

1         John
2         Joseph
3         Juan

如果我运行查询

UPDATE `user` SET user_name = 'John' WHERE user_id = 1

MYSQL会再次写入相同的值还是因为内容相同而忽略它?

这是我提出的问答问题,正如Stack Overflow鼓励的那样,我认为这对于将来有相同问题的其他程序员将是有用的。


问题答案:

正如MYSQL手册中UPDATE语句所暗示的那样,

如果将列设置为其当前值,MySQL会注意到这一点,并且不会对其进行更新。

因此,如果运行此查询,MYSQL将理解您尝试应用的值与指定列的当前值相同,并且不会向数据库写入任何内容。



 类似资料:
  • 本文向大家介绍如果MySQL中的值相同,UPDATE是否会覆盖它们的值,包括了如果MySQL中的值相同,UPDATE是否会覆盖它们的值的使用技巧和注意事项,需要的朋友参考一下 不,如果值相同,MySQL UPDATE将不会覆盖它们。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 以下是更新值的查询。设置的值已存在于该特定列中,

  • 我在为自定义员工类实现hashmap时有问题。 > 我只重写了employee类的。所以,对于相同的对象,我得到相同的hashcode值。如果我不重写equals(),那就没问题了,对吧?因为object类的)比较了引用(在这里,我得到了相同的引用来表示相等的对象)。无论如何,根据我的逻辑,我永远不会为不同的emp对象得到相同的哈希值。所以,让

  • 我的@SpringBootApplication注释存在于包中。 根据本文,使用@SpringBootApplication注释等同于使用@Configuration、@EnableAutoConfiguration和@ComponentScan及其默认属性:- https://docs.spring.io/spring-boot/docs/2.0.x/reference/html/using-b

  • 问题内容: 我写了一个大的sql脚本来创建CSV文件。我想每天晚上调用cronjob来创建一个新的CSV文件,并在网站上提供该文件。 假设我将文件存储在“ /home/sites/example.com/www/files/backup.csv”中 我的SQL是 当文件已经存在时,MySQL给我一个错误 文件“ /home/sites/example.com/www/files/backup.cs

  • 问题内容: 这个: 在html中调用,例如: 向div元素添加一个字符串。正是我想要的。但是,这: 这样称呼: 似乎正在覆盖我的整个html文件。即,当我在Firefox中运行它时,它仅显示字符串(即页面的全部内容),但页面似乎仍在加载(FF的加载图标仍在进行动画显示,显然是无限的)。 首先,这将仅在本地,离线使用,作为呈现数据的快速便捷方式(使用html + js和网络浏览器而不是纯文本文件)。

  • 问题内容: 如果我将某些内容推送到Redis的列表中,然后从该列表中弹出,是否可以保证我会得到较早推送的项目,还是可以在写入之前进行读取? 问题答案: Redis在单个线程中运行(执行后台保存时进行分叉除外,但这无关紧要),因此以后发送的任何请求都必然会在以后运行。这样,您将看到您推送的值。 (不过,再三考虑一下,如果您不愿意并且有意使它故意失败,可能会引发失败。但这将需要通过单独的连接发送请求,