主要是,抱歉太过于描述。 我通过创建一个自定义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