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是的,你在写这是个问题