2016-02-14 123 views
1

我有一個名爲case_parties的子表,它由每個原告和被告向法院案件的名稱和地址組成。添加自動增量sql腳本

表列包括:

  • case_id,這是一個外鍵到父表
  • party_type,已編碼的1或2(1字段值指示原告和2表示被告)。需要注意的是,在每個法庭案件中並不總是隻有一個原告和一個被告。在一起案件中,通常有多個原告和多個被告。在任何情況下,可以有1至1,000多位原告和/或被告。我創建了一個新列,在case_idparty_type列上,我們將其稱爲party_idSET它與CONCAT。因此,該欄中的匹配行包括所有原告或所有被告對給定case_id

要爲每行一個簡單的唯一關鍵,我想運行一個腳本,將自動生成增量數字或字母,以匹配party_id場結束。例如,如果在同一案件中有4個原告,現在有4個字段與party_id字段值匹配,最後一個字符爲1,表示該方是原告;我想增加一個增量,所以每一列都是唯一的,而這四行的最後兩位數字反映如下:「1A」,「1B」,「1C」,「1D」或「1-D」 1「,」1-2「,」1-3「,」1-4「等等。我想添加增量數字可能比添加增量字母更容易。在這種情況下,沒有其他列值單獨或共同作出有效的組合索引。我正在尋求協助,自動遞增匹配的列值,並將非常感謝任何幫助。謝謝。

+0

我不認爲它會做出明智的解決方案,但「party_id」列的字段類型是VARCHAR,並且唯一標識每個單個參與方的結果或編輯列也必須是VARCHAR。 – pbnyc

+0

爲什麼它必須是VARCHAR?理想情況下,您希望讓數據庫使用主鍵處理您的唯一性。 – leeor

+0

因爲大量的案件ID#的包含字母和身份證號碼是相當長。我知道長主鍵是不推薦的,我在這種情況下沒有選擇。此外,這只是一個生產數據庫,將用於提取原始數據,將其轉換爲更加修剪整齊的數據集。所以我不擔心這個生產數據庫的性能。 – pbnyc

回答

1

我會建議創建一個單獨的表來表示被告/原告,並在那裏有一個類型欄。然後在該表上使用常規自動增量的主鍵。

然後,您可以在case_parties表(外鍵)中使用該標識作爲您的標識,它將通過唯一標識每個標識來解決您的問題。

+0

他們已經在「case_parties」表中,其中包含派對類型。我認爲你完全不瞭解我的問題,請再閱讀一次。 – pbnyc

+0

除非你的意思是把表格分成兩個表格「原告」和被告「,然後訂購然後設置一個自動遞增..是啊..不想這樣做。 – pbnyc

+0

,這將無法正常工作。自動增量計數必須重新啓動 – pbnyc