当某人在数据库中创建一个表时, 通常该表的结构对于任何人都应该易于阅读, 但是根据开发人员的经验, 由于很难进行心理映射, 使用它可能会变得混乱。想象一下一个表, 其中一个列为is_default, 其可能值为1或0(是或否), 例如以下表human_values:
id | HUMAN_VALUE | is_default |
---|---|---|
1 | honesty | 1 |
2 | tolerance | 1 |
3 | patience | 1 |
4 | hatred | 0 |
id | HUMAN_VALUE | is_optional |
---|---|---|
1 | honesty | 1 |
2 | tolerance | 1 |
3 | patience | 1 |
4 | hatred | 0 |
/** Invert all the values of the specified column **/
UPDATE tableName
SET `your_boolean_or_tiny_int_field` = NOT `your_boolean_or_tiny_int_field`
要更改行值, 我们将使用UPDATE语句, 指示应修改特定的表。然后, 使用SET语句定义分配其相同值但在NOT条件之前添加字段的新值。 NOT是取反的条件, 在这种情况下, 它有助于反转列的当前值, 例如0现在为1, 1为0。
对于我们的表human_values, 查询应类似于:
/** Invert all the values of the is_optional column **/
UPDATE human_values
SET `is_optional` = NOT `is_optional`
运行上一个查询将更新表的所有4行, 并保留以下结构:
id | HUMAN_VALUE | is_optional |
---|---|---|
1 | honesty | 0 |
2 | tolerance | 0 |
3 | patience | 0 |
4 | hatred | 1 |
编码愉快!
推荐阅读
- Magento的7大发展趋势
- 如何在Windows中配置NetBeans以将SASS或SCSS文件自动编译为CSS
- 如何在Windows上使用XAMPP恢复InnoDB MySQL文件
- 如何下载和安装自定义UI PHPMyAdmin主题
- 没有找到“com.google.android.material.button.MaterialButton”类
- android studio 3.1.3中的Gradle项目同步失败
- Apple拒绝了Safari插件(“不使用自定义图标”)
- apply plugin('android'或者应用插件:'com.android.application')
- 在Android Studio Canary 5中将Kotlin恢复为Java代码