提出問題:大家如何控制主鍵的重複性?
具體說明:sql資料庫product表 productid,productname 其中productid 為主鍵【非自增列】, 業務要求新增乙個商品到product表,程式中如何處理主鍵
方案一: productid不讓客戶錄入,由程式讀取product表中的max(productid)+1返回做主鍵
方案二:介面提供2個textbox,乙個供客戶錄入productid,乙個錄入productname, 在插入資料庫前判斷productid是否重複?
有沒有更好的辦法?請各位指教 謝謝
parāllél(58220937) 20:11:24
第二方案是絕對不可能的
parāllél(58220937) 20:14:51
站在客戶的角度 要是你商品太多了根本無從判斷什麼id才是不重複的
[深圳]預言者(405662443) 20:15:16
而且使用者沒必要知道id啊
[深圳]預言者(405662443) 20:15:43
那東西就是一唯一識別符號
華仔(315155589) 20:16:10
這也是我怕的,讓客戶錄入id。商品一多就麻煩了
parāllél(58220937) 20:16:39
我想問一下 你以前的id是怎麼新增進去的?
華仔(315155589) 20:17:13
專門乙個表管理主鍵
華仔(315155589) 20:17:33
每次新增都去讀取最大+1
華仔(315155589) 20:18:05
由於行業特殊,很多主鍵是這種形式abc201012230001
[深圳]預言者(405662443) 20:18:07
我們公司也這麼做的
華仔(315155589) 20:18:58
但是我想如上面的商品表productid 也這麼做沒必要
華仔(315155589) 20:19:08
畢竟不是業務單號
華仔(315155589) 20:19:25
他們只是一些基礎資料而已
parāllél(58220937) 20:20:09
主要方案一要多讀一次id也不好
華仔(315155589) 20:20:39
設自增最簡單,但是 都這麼做 。。。。
華仔(315155589) 20:21:10
想不到好辦法控制基礎資料的主鍵 ,呵呵 走了 去吃飯了。感謝大家的幫助。謝謝了
parāllél(58220937) 2010-12-23 20:26:06
insert into product(productid,productname) select productid+1,productname from product where productid=max(productid)
[深圳]颯風(249523101) 2010-12-23 20:26:57
guid
parāllél(58220937) 2010-12-23 20:27:02
這樣就一次性完成了
[深圳]颯風(249523101) 2010-12-23 20:27:51
用guid來存productid
parāllél(58220937) 2010-12-23 20:31:20
insert into product(productid,productname) select top 1 productid+1,'productname' from product order by productid desc
parāllél(58220937) 2010-12-23 20:31:23
這樣也好
華仔(315155589) 21:31:20
parāllél(58220937) ---謝謝 您提供的2中方案
parāllél(58220937) 21:32:28
感謝他
通讀《構建之法》提出問題
1 什麼是軟體工程?軟體工程是把系統的 有序的 可量化的方法應用到軟體的開發 運營和維護上的過程,包括可行性研究 需求分析 總體設計 詳細設計 實現和維護等。希望我可以通過本學期的學習,對軟體工程有深入了解並且學會每個階段的基本要求與實現。2 如何做到團隊協作?通過瀏覽 構建之法 的第五章的團隊和流...
快速瀏覽教材提出問題
第一章 1 網路連線有幾種形式?2 什麼構成了系統軟體?第二章 1 二進位制與十進位制的轉換方式?2 為什麼必須使用二進位制?第三章 1 畫素和解析度是什麼?2 文字壓縮有幾種方式?第四章 1 晶元承載著什麼?2 什麼是多路復用器?第五章 1 光碟和磁碟有什麼區別?2 什麼是嵌入式系統?第六章 1 ...
css基礎知識整理 歡迎大家提出問題 後續持續更新
1 css樣式規則 選擇器注意 選擇器區分大小寫,屬性和值不區分大小寫 如果屬性值由多個單詞組成且中間包括空格,這這個屬性值必須新增英文雙引號 2 引入css樣式表 1 行內式 標記名 style 屬性1 屬性值1 屬性2 屬性值2 內容2 內嵌式 3 嵌入式 3 css基礎選擇器 1 標記選擇器 ...