当前位置: 首页 > news >正文

php开发实战分析(11):mysql中使用update语句使用CASE WHEN

在PHP中使用MySQL UPDATE语句按条件进行更新数据,如果数据表中state字段为0,则更新为1同时更新字段state_time为当前时间的时间戳;如果state字段为1,则更新为0,同时state_time更新为NULL.

// 构造UPDATE语句
$sql = "
    UPDATE your_table_name
    SET 
        state = CASE 
            WHEN state = 0 THEN 1
            ELSE 0
        END,
        state_time = CASE 
            WHEN state = 0 THEN UNIX_TIMESTAMP(NOW())
            ELSE NULL
        END
    WHERE some_condition;  -- Replace with the appropriate condition for selecting records to update
";

$result = $conn->query($sql);

示例说明:

  • 使用CASE语句动态设定state字段的新值。当state当前为0时,将其更新为1;否则(即当前为1时),将其更新为0。
  • 同样地,对于state_time字段,使用CASE语句基于state字段的当前值设置新值。当state为0时,将state_time更新为当前时间的时间戳(通过UNIX_TIMESTAMP(NOW())获取)。当state为1时,将state_time设为NULL。
  • 在UPDATE语句末尾添加适当的WHERE子句以指定需要更新的记录。请根据实际情况替换some_condition部分。

@漏刻有时

相关文章:

  • 【快捷部署】011_PostgreSQL(16)
  • Liunx进程信号
  • Tuxera NTFS for Mac2023绿色免费版 免费的ntfs for mac 免费读写硬盘U盘工具
  • Linux存储的基本管理
  • 什么是Redis数据一致性?如何解决?
  • 操作系统① —— 进程管理
  • 单细胞RNA测序(scRNA-seq)SRA数据下载及fastq-dumq数据拆分
  • 设计模式:工厂模式和抽象工厂模式的区别
  • 每日面经分享(pytest测试案例,接口断言,多并发断言)
  • 第16章 网络编程
  • Oracle 数据库工作中常用知识点:sql语法与常用函数
  • 第五章 即速运用
  • AD20全流程的使用笔记
  • 【随笔】Git 高级篇 -- 相对引用2(十三)
  • 微信小程序怎么制作?制作一个微信小程序需要多少钱?
  • vue3表单参数校验+正则表达式
  • elsint报错Delete `␍`eslintprettier/prettier
  • python面试题(36~50)
  • 构建集创建、售卖、转让于一体,且基于ERC721 token的NFT平台,从编写智能合约开始(Web3项目四实战之一)
  • Property ‘startsWith‘ does not exist on type ‘string‘.
  • 美乌签署协议建立美乌重建投资基金
  • 八成盈利,2024年沪市主板公司实现净利润4.35万亿元
  • 金融监管总局修订发布《行政处罚办法》,7月1日起施行
  • 秦洪看盘|资金切换主线,重构市场风格
  • “面具女孩”多次恐吓电梯内两幼童,当事女孩及家长道歉后获谅解
  • 专访 | 杜普兰蒂斯:爱上中国文化,下一步努力提升速度