解決HeidiSQL提示錯誤:0 rows updated when that should have been 1

場景:在HeidiSQL中點擊一個字段值並進行更改,修改完成後點擊其他空白處,出現了以下錯誤提示!

0 rows updated when should have been 1 

本來沒在意這個提示,只是偶然更新失敗罷了,但後來慢慢注意到,出現這種情況的頻率非常高,100%!!!而且更嚴重的是查詢出來的數據是不準確的!因爲數據庫涉及到很重要的數據,解決問題迫在眉睫了。

我最先意識到可能是數據庫的問題,於是重啓了數據庫服務和HeidiSQL,很不幸。。。失敗了

谷歌百度了很久,也去官網查了,都沒有找到好的解決方案。

命不該絕啊,就在這樣的關鍵時刻,看到了官網評論區一個大神給別人的回覆:(譯)數據表沒有主鍵執行更新操作是非常危險的!我趕緊對號入座,果然沒有主鍵,加上主鍵後果然再也沒有提示過了。

雖然問題解決了,但是還是不太明白其中的原理,爲啥數據表不設置主外鍵,或者引索會導致數據操作不安全呢?希望有專業的大佬能幫我解決這個困惑,不勝感激!