推 grence:1.unique constraints 2.update=delete+insert 3.AP判斷 05/16 00:18
大家好,我有個問題,想了一下,不知道怎樣的解決方案比較好,
請大家給我一些意見,謝謝!
資料表 ProdInfo,有二個欄位,如下:
ProdID:自動編號,主鍵
ProdName:字串,不可重覆
資料如下:
ProdID ProdName
1 PCB
2 RF
3 PA
UI介面,同樣有二個欄位,可對PodInfo做巡覽,新增,修改
當我做新增時,我要判斷user所輸入的ProdName是否已存在於ProdName,
我用 select count(*) form ProdInfo where ProdName='userkeyin'
如果count>0,就回傳true,在UI畫面顯示錯誤訊息
但,我的問題題是:當我做修改功能時,
我要如何判斷user所輸入的ProdName是否已存在於ProdName,存在就顯示錯誤訊息
並且判斷user鍵入的值如果是該ProdID原本的ProdName值,則不顯示錯誤訊息
例:user今天對ProdID=2,ProdName=RF做修改,UI設計只能修改ProdName值
如果user鍵入PA,系統就會判斷出PA已在在ProdInfo中,不能再鍵入(正常)
如果user再次鍵入RF,若用上述sql去判斷,系統會一直告知已存在,(不正常)
但問題是user只填了該欄位原本的值,資料庫是不會有重覆資料存在的,只是多做一次修改
的sql
select count(*) form ProdInfo where ProdName='RF'
所以我要如何下一道SQL是:判斷輸入的值是否已存在DB,如果此值是原本該ID該NAME的值,
就允許修改
再請大家給我意見,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.96.98.77