簡體   English   中英

MySQL從一個表中選擇並檢查另一個表是否存在相同的值

[英]MySQL select from a table and check in another table if the same value exists

好的,我正在創建數字商店。

在這方面需要一些幫助。

首先,我的數據庫如下所示:

產品 prod_id,prod_file_id,prod_status

文件 file_id

因此,我想做的是在他們用paypal付款后(已經使ipn正常工作),它應該加上“ prod_file_id”,然后檢查“ files”中是否存在“ file_id”。 如果不是,則應將“ prod_status” = 0。

不能弄清楚該怎么做,因為對編碼我還是很陌生的。 希望你能幫助我,謝謝。

請嘗試以下操作:

加上“ prod_file_id”:

update products 
set prod_file_id = prod_file_id + 1
where prod_id = 'the_prod_id_that_have_been_paid'

檢查“文件”中是否存在“ file_id”。 如果不是,則應將“ prod_status” = 0

update products set prod_status = 0
where prod_id = 'the_prod_id_that_have_been_paid' 
    and prod_file_id not in (select file_id from files)

注意:我假定prod_file_id是file_id的外鍵,以便product和files表具有適當的關系。

更新:我更新了第二條sql命令。 如果file_id 存在,它應該更新prod_status,因此我將其設置為prod_file_id NOT in (select..

嘗試在prod_file_id + 1 = file_id上​​加入產品和文件

暫無
暫無

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

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