作者kucom (kucom)
看板Database
标题[SQL ] 判断UI栏位是否重覆的问题,SQL如何下?
时间Fri May 15 10:54:44 2009
大家好,我有个问题,想了一下,不知道怎样的解决方案比较好,
请大家给我一些意见,谢谢!
资料表 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
1F:推 grence:1.unique constraints 2.update=delete+insert 3.AP判断 05/16 00:18