我有一张桌子,类似于:
| key | value |
|----------|-------|
| limit | 15 |
| viplimit | 25 |
| .. | |
我有一个阵列:
Array
(
[0] => Array
(
[key] => limit
[value] => 10
)
[1] => Array
(
[key] => viplimit
[value] => 99
)
...
现在,说我们有100行。更新与数组对应的表的最佳方法是什么?
每100行都有一个查询选项,但这只是糟糕的表现。
答案 0 :(得分:0)
这应该有效:
$statement = "UPDATE mytable
SET key = CASE id
WHEN 1 THEN 'key'
WHEN 2 THEN 'another_key'
WHEN 3 THEN 'some_key'
END,
value = CASE id
WHEN 1 THEN 15
WHEN 2 THEN 25
WHEN 3 THEN 45
END
WHERE id IN (1, 2, 3)
");
DB::statement($statement);
想想如何创建正确的查询。如果它的管理面板或不经常运行的东西,我只是使用迭代来保持简单。