我正在做一个项目,我需要插入各种“产品”,但取决于类型(固定数量为 3,不会改变客户所说),“ID”应该以某个数字开头(2,3,4 )
虽然我的第一个想法是简单地使用(在删除的代码中)前缀,然后用“0”填充 id - 这不起作用,因为应该执行从“旧”系统的导入,其中 3 个表(而不是一个)已被使用。
因此,旧系统将提供(来自 3 个表)的 ID,例如
200001 | Raw-Material-Table
200002 | Raw-Material-Table
300001 | Composite-Table
300002 | Composite-Table
400001 | Product-Table
400002 | Product-Table
等等。(这是一个“懒惰”的设计,存储产品的表格区分了产品可能具有的 3 种状态之一 - 现在已简化为单个列 - 所有其他列都是相等的(基本属性),另外属性是EAV)
因此,应将 3 个表的混合数据集插入到单个表中,同时保留第一个“数字”(2,3,4)以供将来插入。
所以,我需要某种“插入”(根据自动增量产生代理 ID),但还需要基于“状态”创建人工 ID。
这种情况有哪些可用的选项?最好是“更少的代码”和“更多的查询”(如果可能的话,没有代码)