如果为NULL,如何将值插入表中? - MySql

时间:2015-06-30 06:08:12

标签: php mysql sql database

如果列值不为null,我试图插入列。

我有我的桌子:

create table clock(
    usr_id int,
    clock_id int AUTO_INCREMENT,
    clock_in date,
    clock_in_time time,
    clock_out date,
    clock_out_time time,
    FOREIGN KEY (usr_id)references df_user(usr_id),
    primary key(clock_id)
);

我试图获取表的最后一个条目并检查它是否为null。

SET @lastEntry = (SELECT clock_id FROM clock WHERE clock_id=(SELECT max(clock_id) FROM clock));
SET @clock_value = (select clock_out from clock where clock.clock_id = @lastEntry);

如果最后一个条目的clock out列为NULL(@clock_value IS NULL),则插入表中。

if @clock_value IS NULL THEN insert into clock (clock_out, clock_out_time) values (curdate(), curtime());

有人可以告诉我这个过程的正确方法吗? SQL告诉我查询错误。谢谢大家!

1 个答案:

答案 0 :(得分:0)

您需要的似乎是更新条款。

update clock set clock_out=curdate(), clock_out_time=curtime() ;

或类似的东西。您无法在此插入,因为在插入时会创建新行。