mysql - 添加自增sql脚本

标签 mysql concatenation auto-increment post-increment

我有一个名为 case_parties 的子表,其中包含法庭案件中每个原告和被告的姓名和地址。

表格列包括:

  • case_id,这是父表的外键
  • party_type,其编码字段值为 1 或 2(1 表示原告,2 表示被告)。需要注意的是,在每个法庭案件中并不总是只有 1 名原告和 1 名被告。通常,在一个案件中有多个原告和/或多个被告。任何给定案件的原告和/或被告都可以是 1 到 1,000 多个。我创建了一个新列,我们将其命名为 party_id 并在 case_id 上使用 CONCAT 对其进行 SET >party_type 列。因此,此列中的匹配行包括给定 case_id 的所有原告或所有被告。

要为每一行创建一个简单的唯一键,我想运行一个脚本,将自动生成的增量数字或字母添加到匹配的 party_id 字段的末尾。比如同一个案子有4个原告,那么现在有4个party_id字段值匹配的列,最后一个字符为1,代表该方是原告;

我想添加一个增量,这样每一列都是唯一的,4 行的最后两位数字将反射(reflect)如下内容:“1A”、“1B”、“1C”、“1D”或“1-1” ”、“1-2”、“1-3”、“1-4”……等等。我在想添加增量数字可能比添加增量字母更容易。在这种情况下,没有其他列值单独或共同构成有效的复合索引。我正在寻求有关自动递增匹配列值的帮助,非常感谢任何帮助。谢谢。

最佳答案

我建议创建一个单独的表来代表被告/原告,并在其中添加一个类型列。然后在该表上有一个主键,并定期自动递增。

然后您可以将它用作 case_parties 表(外键)中的 ID,它将通过唯一标识每个人来解决您的问题。

关于mysql - 添加自增sql脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35387436/

相关文章:

PHP - 在 MySQL 中插入更新删除搜索数据

wpf - 将文本 block 中的字符串与静态资源连接起来(无绑定(bind))

mysql - 在 MySQL 中重置 AUTO_INCREMENT 需要很长时间

sql - POSTGRES - 使用 ON CONFLICT DO NOTHING 防止串行递增

mysql - 如何从一组电子邮件中选择所有唯一的 gmail 电子邮件?

mysql - 将图像从数据库添加到谷歌地图信息窗口

php - Magento - 管理员缺少 CSS

mysql - SQL CONCAT 列并在每个非空条目后添加返回

mysql - 将重复 ID 的不同值连接成一行

java - SQLite 中的 Hibernate 自动增量