MySQL 根据另一列的内容修改一列的值

标签 mysql sql

基本上我想查询数据库并根据另一列的内容修改一列的值。

这是我的想法:

IF Column 'Town'  IS NOT NULL then Column 'Sign-up type' = 1 else = 0

逻辑是,我在数据库中添加了一个新列,用于存储是快速注册还是完整注册。

Quick = 0,Full = 1。默认为 0 = Quick。

我已经设法对提供给数据库的两个注册表单进行更改,但我需要附加历史数据以向后填充数据。

因为快速注册只收集姓名和电子邮件,所以这些条目不包含“城镇”字段中的数据,而“城镇”字段是完整注册中的必填字段。

所以我使用它作为引用点来选择所有具有(非空?)数据的条目,以便在“注册类型”列中输入“1”(代表“完整”)。

希望我说的有道理!我对 MySQL 只有基本的了解,但我愿意学习,当我不清楚正确的行话时,有时很难解释我想做什么!

最佳答案

UPDATE yourTable SET signupType = IF(Town IS NULL, 1, 0);

请注意,这将更新所有数据,您可能希望将其限制为历史数据(不过从表面上看这应该没问题)。

关于MySQL 根据另一列的内容修改一列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14223662/

相关文章:

php - MySQL:外连接和 COUNT()

mysql - 多重左连接优化

sql - 如何在 Rails 中创建 "Upcoming birthdays"模块?

sql - C 中的 DB2 嵌入式 SQL 对输入和输出使用相同的主变量是否允许?

sql - 用于 SQL Server 数据库访问的基于 Web 的托管管理工具

sql - 函数中命名参数的 PostgreSQL 问题

mysql - 在mysql中使用union删除?

mysql - 按问题联合排序

MySql 错误代码 : 1175. 您正在使用安全更新模式 - 即使使用主键

mysql - 在 MySQL 中使用 0..1 :1. .n 表进行 SQL 自动清理