簡體   English   中英

MySQL,根據選擇條件插入

[英]Mysql, insert based on condition of select

我需要根據行數和行值的選擇比較來執行帶有插入的復雜查詢。 這是我要執行的操作:-從“媒體”表中選擇具有特定“ post_id”的所有媒體-檢查是否所有行的“ media_status”都設置為活動-如果是,則將表“媒體”中的“ posts_status”的值更新為“活性”

是否可以在一個查詢中完成?

async.waterfall([
        function download(next) {
            // pick media
            },
        function transform(response, next) {
            // transcode media
        },
        function upload(next) {
            // upload transcoded
            },            
        function clean(response, next) {
            // clean temp

            },
        function connectDb(next) {
            // connect to db
            },
        function saveDb(next) {
            // save single media
            },
        function conditionalNotification(next) {
            // HERE I NEED TO CHECK IF ALL MEDIA ARE TRANSCODED AND SET POST_STATUS ACTIVE 
            }             
            ...

您可以通過執行此單個查詢來執行此操作

update `media` set post_status='active' 
where 1=((select count(*) from `media` 
where post_id = <id value>)=
(select count(*) from `media` 
where post_id = <id value> and media_status='active'))

暫無
暫無

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

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