Good day, I have a problem regarding MySQL queries. I want to create a daily time record output but my problem is on making queries. What I want is that when a record have the same id and date it must be updated otherwise it will insert a new record. These are some of screenshots of table properties
Asked
Active
Viewed 340 times
0
-
1I had the same issue before, my solution is to run a select query, if it returns a row, update it, otherwise, it will insert a new one. Have you tried that approach? – Ruben_PH Oct 12 '17 at 06:15
-
[Insert into a mysql table or update if exists](https://stackoverflow.com/questions/4205181/insert-into-a-mysql-table-or-update-if-exists) – Ruben_PH Oct 12 '17 at 06:21
-
I tried that approach but I want to learn it using sql. Thanks for the suggestion btw – arreojn Oct 12 '17 at 06:30
-
Try the link I provided above – Ruben_PH Oct 12 '17 at 06:34
-
Possible duplicate of [Insert into a MySQL table or update if exists](https://stackoverflow.com/questions/4205181/insert-into-a-mysql-table-or-update-if-exists) – Ruben_PH Oct 12 '17 at 06:35
1 Answers
0
CREATE PROCEDURE dbo.EditGrade
@Id int
,@TimeIn datetime
,@TimeOut datetime
,@Existing bit OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @CurrentTimeIn as datetime
DECLARE @CurrentId as int
SELECT @CurrentId = Id
FROM tblAttendance
WHERE TimeIn = @TimeIn
IF (@CurrentId <> @Id)
BEGIN
IF (SELECT COUNT(ISNULL(Id,0))
FROM tblAttendance
WHERE TimeIn = @TimeIn
SET @Existing = 0
ELSE
SET @Existing = 1
END
ELSE
BEGIN
SET @Existing = 0
END
IF @Name = ''
SET @Name = null
IF (@Existing = 0)
UPDATE tblAttendance
SET TimeIn = @TimeIn
--other column values here
WHERE Id = @Id
ELSE
--INSERT FROM tblAttendance query here
END
GO
this is from stored procedure of ms sql, you can just convert it into mysql version.
take note, datetime types also checks the seconds, so don't include the seconds as much as possible or it will render as NOT THE SAME (e.g time in = 10:00:01 and time out is 10:00:02 will be rendered as NOT THE SAME)

NoobProgger
- 70
- 1
- 9
-
Can someone translate it to MySQL? I'm not really familiar with ms sql – arreojn Oct 12 '17 at 08:16