有什么方法可以在一个查询中更新两个表?以下是我的代码示例。如何将这两个更新查询合而为一?先感谢您!
<?php // DATABASE UPDATE if (isset($_POST['submit']) or isset($_GET['submit'])){ // 1st QUERY $db =& JFactory::getDBO(); $query_1 = "UPDATE table_1 SET name = '".$_POST["name"]."', surename = '".$_POST["surename"]."' WHERE id=1"; $db->setQuery($query_1); $db->query(); // 2nd QUERY $db =& JFactory::getDBO(); $query_2 = "UPDATE table_2 SET team_id = '".$_POST["team_id"]."', SET team_name = '".$_POST["team_name"]."' "; $db->setQuery($query_2); $db->query(); } ?>
MySQL实际上确实允许在单个查询中更新多个表(尽管通常使您的应用程序一次执行一个更新)。
UPDATE table_1, table_2 SET table_1.field = <some value>, table_2.field = <some value> WHERE table_1.field2 = table_2.field_2 AND table_1.field_3 = <some other value>
参见:http : //dev.mysql.com/doc/refman/5.1/en/update.html
正如其他人所说,您应该考虑使用准备好的语句。