Php 如何对这样的东西只进行一次查询
我正在努力提高这个过程的效率Php 如何对这样的东西只进行一次查询,php,mysql,optimization,Php,Mysql,Optimization,我正在努力提高这个过程的效率 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 = '" . $settingN
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'");
我一直在为select使用内部联接和其他功能,但我不知道如何在此结构中使用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_uu函数已被弃用,而且您应该使用参数,但这里也存在一个SQL问题。您将不同类型的数据存储在
值中
——一个时间加上其他两个时间。这似乎不是一个好的数据库设计。表中没有列是有原因的吗?不,这是错误的,我试图在不同的位置一次更新所有单元格。不,这根本不是上述帖子的重复。