MySQL如果那么ELSE声明

时间:2013-01-13 01:00:06

标签: php mysql pdo

我很难理解使用IF语句的MySQL文档我希望有人可以为我简化它。我甚至不知道我想要完成什么是最好使用MySQL IF语句完成,或者是否有更好的方法来使用PHP。我正在尝试创建一个在线时间卡系统,仅用于学习/实验。我有三个按钮“Clock in”“Update”和“Clock Out”。 “Clock in”非常简单,我所做的就是在表格中添加“员工ID”和“Time in”以及“Date”。 “更新”功能是我现在所处的位置。所以我要做的就是:

  1. 将几个PHP变量添加到表中的指定列。
  2. 将当前时间添加到“超时”列。
  3. 将当前时间添加到具有相同“员工ID”的新行中的“time in”列中。
  4. 所以我想要的陈述将是:

    IF "timeOut" is NULL
    WHERE "employeeID" AND "currentDate"
    THEN 
    UPDATE "timeRecords" SET "jobDescription", "timeOut"
    WHERE "employeeID" AND "currentDate"
    THEN
    INSERT "timeIn", "employeeID", "currentDate"
    

    有没有办法在MySQL中编写这个?如果是这样,有人可以给我一个工作MySQL声明的例子,文档不足以让我理解它。 也许有一种更好的方法可以实现这一目标我不知道了吗?

1 个答案:

答案 0 :(得分:3)

你真的不应该在你的SQL中使用if / then语句。 “控制结构”适用于像C,PHP或Java-SQL这样的语言,它们与“集合”有关。

在这种特殊情况下,请查看mysql“Replace”语句。对于您的场景,它可能是理想(“如果是新的,则插入;否则更新”):