所有新聞群組討論區列表 風禹科技驗證有限公司 Web News Reader

目前新聞群組:tw.bbs.comp.database

說明

此主題討論共計 7 篇文章。

自動編號這種欄位要怎麼使用比較好?

延宕的人生2007/1/17 下午 11:22:35僅瀏覽本文回覆 | 回信 | 轉寄
請問一下:

如果一個table有「自動編號」的話,通常都是資料新增之後,編號才會自動填上去

假如我有一個 table1 是
員工編號(自動編號)
員工姓名(文字)

另一個 table2 是
員工編號
工作項目一
工作項目二

如果我要新增一個員工(意即:填上姓名,取得員工編號)之後

立刻更新他的工作項目表,那我要怎麼取得剛剛設給它的員工編號?

立刻select table1,然後取最後一筆?
--
                         金戈鐵馬耀日月  鐵騎奔騰撼山崗
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
璉璉2007/1/18 上午 12:10:49僅瀏覽本文回覆 | 回信 | 轉寄
看你用的工具吧...
以 ADO 來說,是 Online 的方式,所以不用再 Select 就可以拿出這筆新增的值跟編號。
以 ADO.NET 來說,是離線式的,就不行。

以 SQL Server 2005 來說,有提供 T-SQL 語法來抓,不過我覺得跟抓最後一筆沒兩樣。

你也可以人工作自動編號
Select Max(SN) From table1
傳回值 + 1 即可。
發生新增錯誤表示在程式碼插入之前,有新增資料插入,就無限回圈處理到沒錯誤為止。

==> 本文由 "延宕的人生 <BoHann.bbs@bbs.cis.nctu.edu.tw>"
[系統略除,原始全文請點選瀏覽本文]


--
風禹科技驗證有限公司 ASP.NET Web News Reader 0.2.5 UTF-8 Beta
網站地圖 http://tlcheng.twbbs.org/wwwmap.htm
流域防洪/區域水資源/徐昇網/玫瑰圖/語音通訊 文章與程式
Basic/Fortran/Windows API/.Net/輔助說明檔 原始碼、文章與討論
微軟程式設計、系統管理使用新技術論壇討論區,網友回覆後即時簡訊、電子郵件通知:
MSDN: http://forums.microsoft.com/msdn-cht/default.aspx?siteid=14
TechNet: http://forums.microsoft.com/technet-cht/default.aspx?siteid=23
--
ASPNET News Reader http://tlcheng.twbbs.org/News/Reader.aspx
RSS 2.0 http://tlcheng.twbbs.org/News/rss2.aspx?Action=List&Newsgroup=tw.bbs.comp.database
ㄚ凱2007/1/18 上午 04:14:40僅瀏覽本文回覆 | 回信 | 轉寄
※ 引述《BoHann.bbs@bbs.cis.nctu.edu.tw (延宕的人生)》之銘言:
[系統略除,原始全文請點選瀏覽本文]


    以 php + mysql 來說...
    http://tw.php.net/mysql_insert_id

--
若真的有心.不用靠別人一樣可以找到辦法.
如果不願意用心.我想說了也是白說.
Darkhero (Kyle Chiang)
darkhero@gmail.com
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 220-132-121-92.hinet-ip.hinet.net
好久沒有上BBS的人2007/10/12 下午 04:16:02僅瀏覽本文回覆 | 回信 | 轉寄
※ 引述《BoHann.bbs@bbs.cis.nctu.edu.tw (延宕的人生)》之銘言:
[系統略除,原始全文請點選瀏覽本文]

自動編號欄位是很危險的欄位
可以使用select IDENT_CURRENT來取得即將產生的值
但是試想若是在你完成之前有另外的程序做了新增的動作
你得到的就是錯誤的值
所以若是在多機環境中確保不會衝突的狀態
建議用後端的程序來做insert
單機或是使用頻率不常的表單才可以冒險用一下


--
[32m※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw>
◆ From: yachine @59-115-159-170.dynamic.hinet.net
梁楓2007/10/13 上午 03:51:16僅瀏覽本文回覆 | 回信 | 轉寄
> 自動編號欄位是很危險的欄位
[系統略除,原始全文請點選瀏覽本文]


lock table write
--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: 60-249-234-179.hinet-ip.hinet.net
努力K APUE中2007/10/15 下午 12:23:48僅瀏覽本文回覆 | 回信 | 轉寄
==> 在 BoHann@cis_nctu (延宕的人生) 的文章中提到:
[系統略除,原始全文請點選瀏覽本文]


用 seqence 吧

如果是 oracle , mysql , PostgreSQL 都有

--

   有一個美麗的新世界 它在遠方等我
     那裡有天真的孩子 還有姑娘的酒窩
   ?  有一個美麗的新世界 叫我慢慢的走
         海浪它總是一波波 不要停歇不回頭    - "美麗新世界" 500
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>
ycheng2007/10/29 下午 03:39:24僅瀏覽本文回覆 | 回信 | 轉寄

http://dev.mysql.com/doc/refman/5.0/en/information-functions.html
    #function_last-insert-id

The ID that was generated is maintained in the server on a per-connection
basis. This means that the value returned by the function to a given client
is the first AUTO_INCREMENT value generated for most recent statement
affecting an AUTO_INCREMENT column by that client.

誰實驗一下吧 ^_%

※ 引述《Lman (梁楓)》之銘言:
[系統略除,原始全文請點選瀏覽本文]

--
※ Origin: SayYA 資訊站 <bbs.sayya.org>
◆ From: beta.wsl.sinica.edu.tw
◆ Modify: 07/10/29 15:39:24 <beta.wsl.sinica.edu.tw>

基本條件

.Net 原始碼 | ASP.NET News Reader Beta 0.2.9

請參閱

個人資料 | 發表新文章 | 搜尋 | 列印 預覽 直接

重要訊息通知

2007/06/21 由於微軟新聞伺服器移除多數新聞群組 (newsgroup),目前遭移除之群組暫時改為隱藏純瀏覽,若狀況已定案時,將會將隱藏中的群組重新調整。[討論]