假如我們是一服裝公司,在接受定單的時候,我們就要檢測,乙個季度是否有重複的訂單,但然,在我們接受打單的時候,也要做乙個檢測。怎麼完成這項任務呢?
我想,除了我們在程式級設定檢測以外,最重要的就是資料庫本身了。下面我們就試著來解決這個問題:
下面是我們的資料庫設計,當然是簡略版的:
orders
訂單表,主要有定單號,款號和季度
id。季度表裡有乙個主鍵和季度名。
orders
orderid primary key, auto increase, int 4
stylenvarchar 100 nullable
seasonid int 4 nullable
seasons
seasonidprimary key, auto increase, int 4
name varchar 20
文章開頭已經提到了,我們的問題是如何解決防止同一季度接受同一款式訂單。充分利用
unique index
我們就可以很簡單的完成任務。看看下圖詳解:
讓表處於編輯狀態,點選管理索引
/鍵,就可以看到上畫面,通過這個介面,就可以設定唯一索引來完成我們的任務。特別注意粉紅區域,只有選中建立
unique(u
)這個唯一索引才會生效。ok!
我們的任務完成了!
insert into orders(style,seasonid) values('style2',1)
當我們的訂單中已經有款式為
style2
季度為1
的訂單,再執行上述查詢的時候,會出現下列錯誤:
伺服器:
訊息2627
,級別14
,狀態2,行1
違反了unique key
約束'ix__orders'
。不能在物件
'_orders'
中插入重複鍵。
語句已終止。
我想讀了上面的文章,你就會明白,該怎麼解決這個問題了。哈哈,自己搞定!
好運!2006-10-30
充分利用會議
這是我的好朋友patroklos組織的2017年我的最後一次會議,即塞薩洛尼基voxxed day 我幾年前開始參加會議。參加會議是一項投資,無論是時間上的還是金錢上的 或兩者兼有 您應該確保從投資中獲得最大收益。在這篇文章中,我想寫下實現這一目標的方法。未雨綢繆 要做的第一件事是提前獲得可用對話的...
充分利用時間
不知不覺,距離開始接觸安卓這門語言已經時間不短了,從最開始對四大元件都不太了解,到現在已經稀里糊塗的做完了五六個專案。收穫不小,但不是很全,感覺距離真正的開發人員還差一大截。不想再浪費時間,利用這點時間做點實際的事,充實一下自己,由於平時專案中功能比較瑣碎,好多專案都有共同的地方,為了提高開發效率,...
充分利用時間
充分利用時間 你所擁有的最重要的東西就是你的時間,因為你不能創造更多時間。你可以用錢或他人的幫助來節約你的時間,但是,最終你還是會用光自己的時間。所以,你需要對自己如何利用時間瞭如指掌。很多人不知道每件事情花了多少時間,他們有 1000 封未回覆的郵件,卻還說不知道怎麼處理。解決方法就是每天安排的工...