2015-02-23 56 views
0

我在sql服務器中有一個表,如果我從它刪除一行,插入一個具有相同數據的新行,並使用userid作爲我刪除的行。這張桌子上沒有觸發器。另外,我搜索了引用該表的所有數據庫對象,並且數據庫中沒有引用此表的任何觸發器,只有一些存儲過程,其中沒有任何代碼會導致此行爲。在沒有觸發器的情況下自動插入Sql Server行

要清楚,如果我運行此查詢:

delete from my_table where id = 1 

1的ID的行會被刪除,而是一個新的行會被插入具有相同的用戶ID,以及日期爲刪除行。沒有涉及的應用程序代碼,只是直接在數據庫上運行的直接sql刪除語句會導致此問題。

除了觸發器還有什麼可能導致這種情況發生?我從來沒有遇到過這樣的事情。

+0

你怎麼知道該行實際上被刪除? – Lamak 2015-02-23 20:08:31

+0

它是插入的新行,還是隻是從未被刪除的同一行?也許有一個'INSTEAD OF'觸發器只能刪除... – DMason 2015-02-23 20:09:19

+0

@Lamak,因爲我運行了一個select語句,用於那個userid的行,並且原來的行不見了。 – 2015-02-23 20:09:22

回答

0

我花了很長時間,但我發現這是由一個「流氓」linq-to-sql dll引起的,儘管它的父應用程序正在運行。

好消息是,在SQL中刪除行時沒有一些奇怪的非觸發方式,所以我們現在都可以恢復正常生活,知道所有事情都是如此。

相關問題