[英]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.