如何将这两个查询合并为一个?
How to merge these two queries into one?
很简单...如何将这两个查询合并为一个?
$sql = "UPDATE `data` SET `views` = `views` + 1 WHERE `id`=$id AND `source`='$source' AND `keyword`='$keyword'";
$sql = "UPDATE `settings` SET `count` = `count` + 1 WHERE `id`=$id";
编辑:
另外,还有第一次输入数据的问题,当要更新的数据在数据table中还不存在时。
我的插入查询:
$sql = "INSERT INTO `_data` (`id`, `source`, `keyword`, `views`) VALUES ($id,'$source','$keyword',1)";
是否可以将新数据插入一个 table 与更新另一个 table 相结合?
我建议你使用准备好的语句。
$sql = "UPDATE data, settings
SET data.views = data.views+1, settings.count = settings.count+1,
WHERE data.id = $id AND data.source = $source AND data.keyword = $keyword AND settings.id = $id";
你好 JOnathan van Clute,
如果您想在 php 中合并两个查询,那么您可以在代码中这样尝试。
$sql = "UPDATE `data` SET `views` = `views` + 1 WHERE `id`=".$id." AND `source`='".$source."' AND `keyword`='".$keyword."';";
$sql .= "UPDATE `settings` SET `count` = `count` + 1 WHERE `id`=".$id.";";
它将合并查询并将其追加到您的 $sql 变量中。如果您想一次触发一个查询并更新两条记录,那么可以使用一个
喜欢如下
$sql ="UPDATE `data` as dt, `settings` as st SET dt.views = dt.views + 1 , st.count = st.count` + 1 WHERE dt.id=".$data_id." AND dt.source='".$source."' AND dt.keyword='".$keyword."' AND st.id=".$setting_id.";
确保你的 $id 变量在这里我为不同的 table 使用了不同的变量,比如
设置 = $setting_id 和数据 = $data_id
上面的查询将触发一次,但它会更新两个 table 和两条记录,如您所见,我们在 UPDATE 查询中添加了两个 table,因此两条记录都将被更新。
希望对您有所帮助
谢谢['}
很简单...如何将这两个查询合并为一个?
$sql = "UPDATE `data` SET `views` = `views` + 1 WHERE `id`=$id AND `source`='$source' AND `keyword`='$keyword'";
$sql = "UPDATE `settings` SET `count` = `count` + 1 WHERE `id`=$id";
编辑:
另外,还有第一次输入数据的问题,当要更新的数据在数据table中还不存在时。
我的插入查询:
$sql = "INSERT INTO `_data` (`id`, `source`, `keyword`, `views`) VALUES ($id,'$source','$keyword',1)";
是否可以将新数据插入一个 table 与更新另一个 table 相结合?
我建议你使用准备好的语句。
$sql = "UPDATE data, settings
SET data.views = data.views+1, settings.count = settings.count+1,
WHERE data.id = $id AND data.source = $source AND data.keyword = $keyword AND settings.id = $id";
你好 JOnathan van Clute,
如果您想在 php 中合并两个查询,那么您可以在代码中这样尝试。
$sql = "UPDATE `data` SET `views` = `views` + 1 WHERE `id`=".$id." AND `source`='".$source."' AND `keyword`='".$keyword."';";
$sql .= "UPDATE `settings` SET `count` = `count` + 1 WHERE `id`=".$id.";";
它将合并查询并将其追加到您的 $sql 变量中。如果您想一次触发一个查询并更新两条记录,那么可以使用一个
喜欢如下
$sql ="UPDATE `data` as dt, `settings` as st SET dt.views = dt.views + 1 , st.count = st.count` + 1 WHERE dt.id=".$data_id." AND dt.source='".$source."' AND dt.keyword='".$keyword."' AND st.id=".$setting_id.";
确保你的 $id 变量在这里我为不同的 table 使用了不同的变量,比如
设置 = $setting_id 和数据 = $data_id
上面的查询将触发一次,但它会更新两个 table 和两条记录,如您所见,我们在 UPDATE 查询中添加了两个 table,因此两条记录都将被更新。
希望对您有所帮助
谢谢['}