我正在努力高效地处理这个问题
mysql_query("UPDATE settings SET value = '" . time() . "' WHERE setting='roundtime'");
mysql_query("UPDATE settings SET value = '" . $curusers . "' WHERE setting='currentusers'");
mysql_query("UPDATE settings SET value = '" . $settingNum. "' WHERE setting='settingNum'");
我一直在使用 INNER JOIN 和其他东西来选择,但我不知道如何使用 UPDATE 来处理这个结构中的东西。
最佳答案
您可以按如下方式编写查询:
UPDATE settings
set value = (case when setting = 'currentusers' then '" . $curusers . "'
when setting = 'roundtime' then '" . time() . "'
when setting = 'settingNum' then '" . $settingNum. "'
end)
where setting in ('roundtime', 'currentusers', 'settingNum');
有几个问题。掩饰 mysql_ 函数已被弃用并且您应该使用参数这一事实,还有一个 SQL 问题。您在 value
中存储不同类型的数据——一个时间加上其他两个。这似乎不是一个好的数据库设计。这些不是表中的列是否有原因?
关于php - 如何只对这样的事情进行一次查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21638854/