我正在忙着做一个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验证?
答案 0 :(得分:6)
INSERT INTO TABLE (COLUMNS) VALUES(FIELDS) UPDATE ON DUPLICATE KEY position = somevalue, number=number
1)尝试插入
2)如果有一个带有唯一字段的记录(主键,唯一索引等),请更新该字段。
答案 1 :(得分:0)
好吧,我用多个IF语句修复了这个问题,以确定是插入还是更新。
答案 2 :(得分:0)
除非在事务中,否则无法运行,或者您可以保证不会同时运行针对数据库的请求