【发布时间】:2013-02-26 22:57:00
【问题描述】:
我正在尝试像这样更新我的表格:
Update MyTable
SET value = 1
WHERE game_id = 1,
x =-4,
y = 8
SET value = 2
WHERE game_id = 1,
x =-3,
y = 7
SET value = 3
WHERE game_id = 2,
x = 5,
y = 2
我可以发送foreach(),但这会发送超过 50 个单独的查询,这非常慢。
这就是为什么我希望将其合并为 1 个大查询。
(我确实为每一行使用了一个 id,但 game_id、x 和 y 的组合是我用什么来识别我需要的行。)
此处描述的 codeIgniter 的 update_batch() 函数: Update batch with CodeIgniter 很有帮助,几乎完美,但它只允许 1 个单独的 where 子句,你不能(据我理解和尝试)输入一个包含多个 where 子句的数组。
我也检查了这个问题: MYSQL UPDATE SET on the Same Column but with multiple WHERE Clauses 但它只允许只包含一个不同的 WHERE 子句的多行更新,我需要多个 WHERE 子句! :)
Anwsers 可以是简单的 SQL 或使用 php(和 CodeIgniter)或以不同的方式。我希望以任何可能的方式解决这个问题;)
我真的可以使用建议/帮助! =D
【问题讨论】:
标签: mysql sql sql-update