MySql中的条件插入日期
我有两个表(MySql中的条件插入日期,mysql,insert,Mysql,Insert,我有两个表(employee&log\u sheet),当用户在log\u sheet中找不到记录时,我想在log\u sheet中插入今天的日期。如果有记录,它应该返回一些值 SELECT employee.id, employee.name, log_sheet.`date` FROM employee LEFT OUTER JOIN log_sheet ON employee.id = log_sheet
employee
&log\u sheet
),当用户在log\u sheet
中找不到记录时,我想在log\u sheet
中插入今天的日期。如果有记录,它应该返回一些值
SELECT employee.id,
employee.name,
log_sheet.`date`
FROM employee
LEFT OUTER JOIN log_sheet
ON employee.id = log_sheet.employee_id
WHERE employee.name = 'admin'
所以你想确保每个员工至少有一张记录表,对吗 像这样的方法应该会奏效:
INSERT INTO log_sheet (employee_id, date)
SELECT id, DATE(NOW())
FROM employee
WHERE name = 'admin'
AND id NOT IN ( SELECT DISTINCT employee_id FROM log_sheet )
要预览此操作,请在插入行之前添加#
。尝试下面的查询:
insert into log_sheet (date, employee_id)
(
SELECT now(),
employee.id
FROM employee
LEFT OUTER JOIN log_sheet ON employee.id = log_sheet.employee_id
WHERE employee.name = 'admin' AND log_sheet.`date` IS NULL
)
是否要求脚本插入或脚本选择?是否可能类似于“如果没有找到记录,则返回空值并插入今天的日期,否则返回一些值以说明数据存在”。