看板 Database 關於我們 聯絡資訊
大家好,我有個問題,想了一下,不知道怎樣的解決方案比較好, 請大家給我一些意見,謝謝! 資料表 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
grence:1.unique constraints 2.update=delete+insert 3.AP判斷 05/16 00:18