充分利用Unique Index

2022-02-02 18:50:39 字數 1073 閱讀 4219

假如我們是一服裝公司,在接受定單的時候,我們就要檢測,乙個季度是否有重複的訂單,但然,在我們接受打單的時候,也要做乙個檢測。怎麼完成這項任務呢?

我想,除了我們在程式級設定檢測以外,最重要的就是資料庫本身了。下面我們就試著來解決這個問題:

下面是我們的資料庫設計,當然是簡略版的:

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 封未回覆的郵件,卻還說不知道怎麼處理。解決方法就是每天安排的工...