假设我有一个多次运行的查询,因为它在一个将数据插入表的 while 循环中。
INSERT INTO <table>( psuiKey, group_id) VALUES ('54ds8a784daEd','1');
问题是当来自不同计算机的两个用户同时添加数据时。所以发生的事情是用户 1将数据添加到表中,如下所示:
psuiKey group_id
54ds8a784daEd 1
54ds8a785daEd 1
同时用户 2在2group_id
处添加数据,但数据如下所示:
psuiKey group_id
54ds8a784daEd 1
54ds8a785daEd 1
54ds8a786daEd 1
54ds8a787daEd 1
代替:
psuiKey group_id
54ds8a784daEd 1
54ds8a785daEd 1
54ds8a786daEd 2
54ds8a787daEd 2
所以简而言之,如果两个用户同时添加相同的数据,那么group_id
当我发现 maxgroup_id
使用时不会改变:
SELECT MAX(group_id) + 1
因此,当两个用户同时添加数据时,SQL 无法更新它。
注意我不能用group_id
作主键,我也使用datetime
.
所以任何帮助都会有所帮助!