0
美好的一天,我有一個關於MySQL查詢的問題。我想創建一個每日時間記錄輸出,但我的問題在於查詢。我想要的是,當記錄具有相同的ID和日期時,它必須更新,否則它會插入一條新記錄。這些都是一些表格屬性的截圖VB.Net每日時間記錄MySQL
美好的一天,我有一個關於MySQL查詢的問題。我想創建一個每日時間記錄輸出,但我的問題在於查詢。我想要的是,當記錄具有相同的ID和日期時,它必須更新,否則它會插入一條新記錄。這些都是一些表格屬性的截圖VB.Net每日時間記錄MySQL
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
這是從MS SQL存儲過程,你可以把它轉換成MySQL版本。
注意,日期時間類型也會檢查秒數,所以不要儘可能多地包含秒,否則它將呈現爲不相同(例如time in = 10:00:01,超時時間爲10:00 :02將被渲染爲不相同)
有人可以把它翻譯成MySQL嗎?我不太熟悉ms sql – arreojn
我以前有同樣的問題,我的解決方案是運行選擇查詢,如果它返回一行,更新它,否則,它會插入一個新的。你有沒有嘗試過這種方法? –
[插入到MySQL表或更新,如果存在](https://stackoverflow.com/questions/4205181/insert-into-a-mysql-table-or-update-if-exists) –
我試過這種方法,但我想用sql學習它。感謝您的建議btw – arreojn