Php 根据医院ID设置自动增量

Php 根据医院ID设置自动增量,php,mysql,laravel,Php,Mysql,Laravel,我的公司有多个客户。每个客户端都需要有自己的自动增量列。 例如,有多家医院需要将其患者的记录记录到我的服务器上。每个患者都需要一个参考号。参考号正在增加 这是我想要我的桌子的样子 +-----------+-----------+-----------+----------+ | user_id | names | ref_no | hospital | +-----------+-----------+-----------+----------+ | 1 |

我的公司有多个客户。每个客户端都需要有自己的自动增量列。 例如,有多家医院需要将其患者的记录记录到我的服务器上。每个患者都需要一个参考号。参考号正在增加

这是我想要我的桌子的样子

+-----------+-----------+-----------+----------+
|  user_id  | names     | ref_no    | hospital |
+-----------+-----------+-----------+----------+
|    1      |cholo wao  |    1      |  TMJ     |
|    2      |royson ml..|    2      |  TMJ     |
|    3      |pascal va..|    3      |  TMJ     |
|    4      |mustafa s..|    1      |  MBE     |
|    5      |nassoro h..|    4      |  TMJ     |
|    6      |zunaida s..|    2      |  MBE     |
|    7      |hadija ma..|    3      |  MBE     |
|    8      |kulsum za..|    4      |  MBE     |
|    9      |zawadi ya..|    1      |  MSA     |
|    10     |khamis mo..|    5      |  TMJ     |
|    11     |saada hem..|    5      |  MBE     |
|    12     |mark zuck..|    6      |  TMJ     |
+-----------+-----------+-----------+----------+
如上所述,
ref\u no
仅基于上一家医院的最后一个插入ID增加。有人告诉我,使用
MAX(hospital)
可能会造成危险,因为一次可能插入多行

总结QN 我可以使用哪个查询根据特定医院的最后一个ID插入参考号


我已经看到了两种解决方案,请尝试一下

第一个

CREATE temporary table seq ( id int, seq int);
 INSERT INTO seq ( id, seq )
  SELECT user_id, 
   (SELECT count(*) + 1 FROM client c 
   WHERE hospital='TMJ') as seq 
  FROM client;

UPDATE client INNER join seq ON client.user_id = seq.id SET 
 client.ref_no = seq.seq;
第二个

 INSERT INTO 
 client( names, ref_no, hospital )
'cholo wao',SELECT MAX(ref_no) + 1 WHERE hospital='TMJ','TMJ' FROM    
 client;

为什么不使用GUID而不是自动递增?您可以将数据库字段“ID”设置为自动递增。您只需插入数据即可自动生成ID。@juergend可以通过GUID识别该患者来自TMJ医院,并根据TMJ最后一次提供的信息增加参考号。。。例如,来自TMJ的最后一个参考号是5,这怎么能增加到6呢?那么之前的查询如何查找每个医院的最后一个参考号呢?例如,最新的参考号是select MAX(参考号),其中hostipal='MBE'+1;在插入新的record@Cholowao是的,你在写这是个问题