代码之家  ›  专栏  ›  技术社区  ›  Anriëtte Myburgh

MySQL-不同的UPDATE else INSERT语句

  •  3
  • Anriëtte Myburgh  · 技术社区  · 16 年前

    我正忙于执行更新/插入请求,但关键是:

    table PLAYERS {
        player_id
        game_id
        team_id
        position
        number
    }
    

    应该发生的情况如下:

    player_id = '$player_id' AND game_id = '$game_id' AND team_id = '$team_id'

    如果存在,则会发生以下情况:

    position = '$position' AND number = '$number'

    我是否可以只使用MySQL查询语言,而不需要在查询之间进行PHP验证?

    3 回复  |  直到 16 年前
        1
  •  6
  •   Tyler Carter    16 年前
    INSERT INTO TABLE (COLUMNS) VALUES(FIELDS) UPDATE ON DUPLICATE KEY position = somevalue, number=number
    


    2) 如果存在具有唯一字段(主键、唯一索引等)的记录,则更新该字段。

        2
  •  0
  •   Anriëtte Myburgh    16 年前

    我用多个IF语句修复了这个问题,以确定是插入还是更新。

        3
  •  0
  •   HaveAGuess    16 年前

    这将不起作用,除非它在事务中,或者您可以保证不会运行针对DB的同步请求

    推荐文章