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_timesheet
和 table_listnames
有什么关系?我会在 datein 列上使用唯一约束,但这取决于您的要求。
我正在尝试执行以下查询:
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_timesheet
和 table_listnames
有什么关系?我会在 datein 列上使用唯一约束,但这取决于您的要求。