【问题标题】:I'm using stored procedure in phpmyadmin to calculate fine for library management system [closed]我在phpmyadmin中使用存储过程来计算图书馆管理系统的罚款[关闭]
【发布时间】:2021-04-08 10:12:16
【问题描述】:
CASE 
WHEN DATEDIFF(CURRENT_DATE,books_transaction.date_out)>10 
    THEN UPDATE books_transaction SET books_transaction.fine = 50 
    ELSE UPDATE books_transaction SET books_transaction.fine = 100
END CASE;
END

ERROR #1054 'field list' 中的未知列 'date_out'

【问题讨论】:

  • 每个语句都需要一个终止符。并且在 sql 中没有 end case 只是 end 会做
  • 请不要编辑以降低可读性并阅读meta.stackexchange.com/questions/22186/…
  • 错误信息很清楚 - 也请发布表定义。
  • phpMyAdmin 是一个用 PHP 编写的应用程序,旨在让管理 MYSQL DBMS 的人们的生活更轻松。它没有存储过程,但是 MySQL 有。不幸的是,术语很重要
  • 检查您的架构。看起来books_transaction 表没有date_out

标签: php mysql stored-procedures xampp


【解决方案1】:
UPDATE books_transaction 
SET fine = CASE WHEN DATEDIFF(CURRENT_DATE,date_out)>10 
                THEN 50
                ELSE 100 
                END;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 2021-04-01
    相关资源
    最近更新 更多