Mysql 在数据库中插入日期

Mysql Insert date in a database

我正在尝试执行以下查询:

INSERT INTO table_timesheet (name, datein, dateout)
VALUES ('Rupert', 'NOW()', '')
WHERE NOT EXISTS (
    SELECT name FROM table_listnames WHERE datein='NOW()'
);

但是这returns一个错误。

如果记录的 'datein' 字段已经存在于另一条记录中,基本上我不想插入记录 - 如何检查新的日期输入是否唯一?

我如何以相同的方式在同一行插入日期输出,就像更新日期输入行一样?

首先检查这个查询(使用 MYSQLI 或 PDO)如果这个查询 return 比你插入记录

错误

如果...这个 return 错误

SELECT name FROM table_listnames WHERE datein='NOW()'

错误

INSERT INTO table_timesheet (name, datein, dateout)VALUES ('Rupert', 'NOW()', '')

此 INSERT 查询将完全满足您的要求:

INSERT INTO table_timesheet (name, datein, dateout)
SELECT 'Rupert', NOW(), null
FROM DUAL
WHERE NOT EXISTS (
    SELECT * FROM table_listnames WHERE datein=NOW()
);

请看here。但是一个合适的解决方案是设置一个 table 约束。 table_timesheettable_listnames 有什么关系?我会在 datein 列上使用唯一约束,但这取决于您的要求。