Hi,我是無丶味,這篇文章是我在做數據庫實驗所遇到的問題及解決方法的記錄。
養成好習慣:先點贊後觀看
所遇到的問題
在設置觸發器觸發後所做的事件時,需要根據最新插入表的一行記錄去查詢,於是實驗就陷入卡頓中。
解決方法
經過查閱相關資料及大佬的提點,最後終於解決了這個難題:
在需要查詢的表中添加一個時間列,類型設置爲DATETIME型,在將此列的默認值設置爲GETDATE(),這樣就可以獲取到當前時間(具體到秒),再通過ORDER BY子句設置時間列降序排列,取此列的第一行數據就相當與此表的最後一行數據。
注:不要把時間列設置爲DATE型,這樣的話只是出現日期,不會出現具體時間
select top 1 *
from Vote
order by Ptime desc
如何查詢第一行插入的數據
在表中通過修改語句加入一個時間列,類型爲DATETIME型,默認值爲GETDATE()。
ALTER TABLE 表名
ADD 列名 DATETIME DEFAULT GETDATE();
再通過查詢語句去查詢第一行插入的數據,利用ORDER BY 子句,讓時間列升序排列,取第一行數據即可。
select top 1 *
from 表名
order by 時間列列名 asc
如何去查詢最後一行插入的數據
在表中通過修改語句加入一個時間列,類型爲DATETIME型,默認值爲GETDATE()。
ALTER TABLE 表名
ADD 列名 DATETIME DEFAULT GETDATE();
再通過查詢語句去查詢最後一行插入的數據,利用ORDER BY 子句,讓時間列降序排列,取第一行數據即可。
select top 1 *
from 表名
order by 時間列列名 desc