MySQL - 使用 CASE 和 ELSE 进行更新

标签 mysql sql-update

我正在开发一个关于驾驶执照的小型 MySQL 数据库。我制作了一个包含 500 个寄存器的随机列表,其中我有一种许可证类型(Moto[A]、Car[B]、Bus[C]、Truck[D]、Special[E])和随机探险日期。

现在我想用“expiration_date”创建一个新列,条件是如果驾驶类型为 D 或 E,则到期日期应为 5 年,其余为 10 年。

我编写的语法是

UPDATE db.carnets 
SET date_expiration =
CASE WHEN carnet_type = "D" OR carnet_type = "E" THEN DATE_ADD(date_expiration, INTERVAL 5 YEAR)
ELSE DATE_ADD(date_expiration, INTERVAL 10 YEAR)

它在第 4 行显示一般 MySQL 错误 [Else date_add....]。 错误在哪里?

谢谢。

最佳答案

答案是添加 结尾 正如 @Antonio Madonna 和 @sgeddes 所说的那样。

谢谢。

关于MySQL - 使用 CASE 和 ELSE 进行更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33404147/

相关文章:

php - 当我们在PHP中选择ID时自动显示价格

php - mysql 更新语句取决于选中的复选框数量

php - 我怎样才能让我的数据库在这个 "foreach"循环中使用 PHP 更新不止一次?

MySQL - 如何在 Update 语句中将字符串值解析为 DATETIME 格式?

mysql - 3 MySQL表结构的GROUP_CONCAT?

mysql - 初学者 - 查询标记为文本的列中的值

MySQL计算列中的值,更新和替换有限制的值

php - 如何启动并运行 PDO?

MySQL 在进行 INSERT INTO 或 UPDATE 查询时保留 SELECT 语句

sql - 更新与唯一索引冲突的多行