主要是,抱歉太過於描述。 我通過創建一個自定義ID字段「PatientID」來存儲患者的信息在sql db中,並且我有一個主鍵字段「ID」。 PatientID有一個模式「PID-1」或「PID-2」等等。我想同步兩個ID。如果表格的「John」的ID是4,那麼其patientID也應該是「PID-4」。爲此,我做了一些編碼,比如沒有記錄,然後從「PID-1」開始保存patientID,然後爲所有下一個記錄首先從ID字段中找到患者的最大ID,並將其增加1並將其與「PID 「+(tableID + 1)。如何同步自定義ID列與表的主鍵列
ID PatientID
1 PID-1
2 PID-2
3 PID-3
4 PID-4
現在,對於一個實例,在添加更多記錄時,雖然記錄未保存,但ID增加,但引發異常。問題來了。假設有一些錯誤,ID 5的記錄無法保存在數據庫中,在程序正確運行時修復了這個錯誤後,它將ID 6而不是5.並且對於patientID,由於MAX查詢,它將放入「PID-5」 。從這裏開始,兩個ID都不同。刪除同樣的問題,如果我刪除上表中的最後一條記錄,即4和PID-4,則下一個記錄的ID將是5,而PatientID將是「PID-4」。這是處理我身邊兩個ID的整個問題圖片。任何替代解決方案或任何修改我的想法或任何更好的主意,那麼我將高度讚賞。
很抱歉,如果這聽起來太關鍵了,但是這個「PatientId」有什麼意義?爲什麼你想要一個額外的冗餘代理ID,只有一個效率較低的存儲爲字符的附加無用的前綴? – SqlZim
@SidraM:顯示4或PID-4只是字符串格式化的問題。我不會存儲這兩個值[使用兩列]。 –
@SqlZim ..那是因爲每個病人都有自己的ID來檢查記錄。就像在學校的學生分配輥編號等 – SidraM