簡體   English   中英

如何將這兩個查詢合並為一個?

[英]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";

編輯:

同樣,當要更新的數據還不存在於數據表中時,就存在第一次輸入數據的問題。

我的插入查詢:

$sql = "INSERT INTO `_data` (`id`, `source`, `keyword`, `views`) VALUES ($id,'$source','$keyword',1)";

是否可以將新數據的插入合並到一個表,而將更新合並到另一個表?

我建議您使用准備好的語句。

$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";

你好喬納森·范·克盧特,

如果要在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變量在這里,我對不同的表使用了不同的變量,例如

設置= $ setting_id和數據= $ data_id

上面的查詢將觸發一次,但是它將更新兩個表和兩個記錄,如您所見,我們在UPDATE查詢中添加了兩個表,因此兩個記錄都將被更新。

希望對您有幫助

謝謝 ['}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM