前提・実現したいこと
DB登録する際に、レコードが無い場合→INSERT、ある場合→UPDATEにしたい
テーブル(work)
employee_no 従業員番号
date 日付
working_time 出勤時間
leave_time 退勤時間
出勤時間と退勤時間を別々に登録するとして、
1、もし該当の日付が存在していなかったらINSERT文を実行
2、もし該当の日付が存在していた場合、そのレコードにUPDATE文を実行したい
※出勤時間または退勤時間を登録しようとして、それぞれもう片方が未入力だった場合はINSERT文を実行。
すでに出勤時間には出勤時間が、退勤時間には退勤時間が登録済みだった場合はUPDATE文を実行せずに、修正するかどうかの確認をHTMLで画面上に表示させたい。
コードの例
sql
1INSERT INTO SLEEP(employee_no, date, working_time) 2 VALUES (0001, '2019-05-21', '2019-05-21 07:20:00') 3ON DUPLICATE KEY UPDATE 4employee = values(employee) 5WHERE date = '該当の日付';
sql
1UPDATE SET SLEEP working_time = '2019-05-21 07:20:00';
試したこと
ON DUPLICATE KEY UPDATE を使ったらよいかと思ったのですが分かりませんでした。
回答3件
あなたの回答
tips
プレビュー