MySQL - 不同的UPDATE else INSERT语句

时间:2009-08-20 22:04:55

标签: php mysql

我正在忙着做一个UPDATE / INSERT请求,但这里有关键:

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 个答案:

答案 0 :(得分:6)

INSERT INTO TABLE (COLUMNS) VALUES(FIELDS) UPDATE ON DUPLICATE KEY position = somevalue, number=number

1)尝试插入
2)如果有一个带有唯一字段的记录(主键,唯一索引等),请更新该字段。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

除非在事务中,否则无法运行,或者您可以保证不会同时运行针对数据库的请求