gpt4 book ai didi

php - 使用 PHP 和 AJAX 在数据库表中重复输入数据

转载 作者:行者123 更新时间:2023-11-29 00:40:00 26 4
gpt4 key购买 nike

我们有一个数据库,其中包含 70 多个表和超过 10k 的用户。数据库中的一个表用于记录用户的最新操作/更改,以便在比赛周结束(足球比赛)之前将它们挂起,我们称此表为“替补”。

但是,每周当我们在游戏周结束时推进系统(应用更改)时,我们会检查是否存储了任何关于用户更改的重复数据(我们刚才已经注意到),并手动将它们从数据库。

行有主键(不重复)只有数据是重复的。这就像插入查询被触发了两次。 (不确定这个或为什么)

示例:假设用户有一支足球队(场上 11 人,替补 4 人)当用户选择球员并点击替补时,该球员(在场上)将与坐在替补席上的球员(替补)交换。此过程将立即发生,无需用户保存 (JavaScript)。但是,它不会保存在团队详细信息中,而是保存在跟踪更改的 Substitute 表中。

用户想要移除玩家 1 并进入玩家 12 (1->12)。第一步系统会记录

id   Team   from_player  to_player
0 x 1 12

如果用户进行另一个替换

id   Team   from_player  to_player
0 x 1 12
1 x 2 13

当用户替换回播放器 (12->1) 时,该记录将被删除 (1->12),因为用户替换回播放器,后来的替补取消了第一个。

id   Team   from_player  to_player
1 x 2 13

但有时它会多次记录该行

id   Team   from_player  to_player
0 x 1 12
1 x 1 12
2 x 1 12
3 x 2 13

或者副本可能介于两者之间

id   Team   from_player  to_player
0 x 1 2
1 x 2 13
2 x 1 2
3 x 1 2

N.B 这种情况每周只会发生在大约 10-100 名用户身上,尽管我们的数据库中注册了超过 10,000 名用户。

那么您认为造成问题的原因是什么?我不想使用INSERT IGNORE,我想找到问题的根源并阻止它。

所以基本上,我的问题是:

1- 可能是服务器或客户端问题吗?

2- 在某些情况下可以调用/触发 ajax 代码两次吗?

3- 在执行相同查询两次的 sql server 中是否存在错误?

非常感谢您的帮助。

更新:

4- 如果问题出在客户端,我该如何检查?有什么建议的方法吗?

如果有人问,当用户换回同一个球员时会发生什么。假设这是原始玩家设置的一部分。

                       | Original Status | After First Subs|After Second Subs|
| | | |
On the field | p1 | P12 | P1 |
-----------------------|-----------------|-----------------|-----------------|
| | | |
Subs(at the bench) | p12 | P1 | P12 |
| | | |

原始状态 p1 在场上,p12 在替补席上(替补)行动记录:s1- P1->P12 状态= P12 在场上。板凳上的P1

s2- P12->P1 状态= P1 回到场上。 P12 回到替补席。

请注意,不会记录 s2,但会删除 s1。就像 A * -1,然后又是 -A * -1。将相互抵消。

最佳答案

ajax mite 被多次调用,尝试使用您的 Firebug 进行检查。在成功标志出现之前,您可能需要禁用替代方法。

关于php - 使用 PHP 和 AJAX 在数据库表中重复输入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12670699/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com