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

标签 php mysql sql database

如果列值不为空,我将尝试插入到列中。

我有我的 table :

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)
);

我正在尝试获取表的最后一个条目并检查它是否为空。

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 告诉我查询是错误的。谢谢大家!

最佳答案

你需要的似乎是一个更新子句。

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

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

关于php - 如果为NULL,如何将值插入表中? - MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31130795/

相关文章:

php - 使用php删除数据库中的一行

php - 从 php 访问 mysql 存储过程

javascript - 返回 JSON 响应

mysql - 带有 GROUP_CONCAT 和空值的 SQL 命令

Java JPA 和 Java JDBC 对于同一 MySQL 查询返回不同的结果

mysql - 当且仅当在同一天发布时,在彼此之上显示行

php - 自定义 Laravel FormRequest autorize 方法验证

php - 如何修复mysql行中的ENTER键

mysql - 使用两个表的更新语句

java - 如何将序列当前值更改为之前的值?