【问题标题】:Pause or manipulate auto increment colum in table暂停或操作表中的自动递增列
【发布时间】:2013-10-08 05:56:28
【问题描述】:

您好,我有一个页面可供教练选择球队。选定的玩家被分配到一个数组 $player_names。我的表,我将上传数组中的值,有 3 列。 selection_id(auto, increment)、Fixture_id 和 player_names

现在发生的事情是我将 player_names 上传到数据库但是。对于每个上传的玩家, selection_id 列递增。这是错误的,因为我希望所有被选中的玩家都持有相同的 selection_id。

任何有关如何解决此问题的建议将不胜感激。

实例:

所有上图中的玩家应该有相同的 selection_id。 只有当下一支球队被选中为不同的灯具它应该增加1

Selection_id selection_id 基于在上一页中被选中的团队。假设一位教练挑选了他的 5 名球员参加比赛。现在 5 个玩家被上传到数据库。在球队表中,selection_id 被分配给选定的 5 名球员。我想要做的是为特定夹具选择的每支球队(5名球员)具有相同的选择ID

【问题讨论】:

  • 为玩家提供单独的表格,并插入带有玩家名称的 selection_id,例如。 id | player_name | selection_id => 1 | tendai |117 , 2 | Adrian | 117
  • 感谢您的评论。你能帮我澄清一下吗
  • "这是错误的,因为我希望所有被选中的玩家都持有相同的 selection_id。" - 选择的球员在这里是什么意思。是基于数据库中的某个团队还是其他列?
  • selection_id 基于在上一页中被选中的团队。假设一位教练挑选了他的 5 名球员参加比赛。现在 5 个玩家被上传到数据库。在球队表中,selection_id 被分配给选定的 5 名球员。我想要做的是为特定夹具选择的每支球队(5名球员)具有相同的选择ID
  • 两个单独的表是执行此操作的明显方法。有一个生成selection_id 并只保存公共信息的表(在这种情况下,它可能只是fixture_id),然后是一个单独的表,用于存储各个玩家的信息(并且在selection_id 上有一个外键回到第一张桌子)。第二个表的 PK 是另一个自动增量列,您不关心分配了什么值,也可能是 selection_id, player_position。

标签: mysql sql


【解决方案1】:

您需要两个表来为选定的玩家管理相同的selection_id。 selection_id 不应自动递增。

在第一个表中player_id 将自动递增。

+-------------+-------------+
|  player_id  | player_name |
+-------------+-------------+
|  1          | Tendai      |
|  2          | Andriaan    |
|  3          | Janus       |
|  4          | Eben        |
|  5          | Burger      |
+-------------+-------------+

+-------------+--------------+
|  player_id  | selection_id |
+-------------+--------------+
|  1          | 117          |
|  2          | 117          |
|  3          | 117          |
|  4          | 118          |
|  5          | 118          |
+-------------+--------------+

使用连接查询,您可以获得相同selection_id的选定玩家

【讨论】:

    猜你喜欢
    • 2012-04-10
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多