2 तालिकाओं (MySQL)MySQL बैच अद्यतन
- data_details
- accounts_invoices
है आदर्श रूप में हर data_details एक accounts_invoices आईडी होनी चाहिए। वहाँ data_details रिकॉर्ड जहां accounts_invoice_id accounts_invoices तालिका
तो मैं एक ज्ञात accounts_invoice आईडी के साथ उन लोगों data_details रिकॉर्ड को अपडेट करने की कोशिश की में मौजूद नहीं है कर रहे हैं
किसी कारण से (data_details एक विदेशी accounts_invoices के प्राथमिक कुंजी से है)। यह है कि क्या मैं
update data_details
set account_invoice_id = 1
where account_invoice_id in (
select d.id
from data_details d left join accounts_invoices a
on d.account_invoice_id = a.id
where a.id is null
)
किया है लेकिन एक त्रुटि
कह होताआप FROM खंड (त्रुटि 1093)
कोई मेरी मदद कर सकते हैं, अग्रिम धन्यवाद में लक्ष्य तालिका अद्यतन के लिए 'data_details' निर्दिष्ट कर सकते हैं
चियर्स
समीरा
भविष्य में इस समस्या से बचने के लिए, मैं इनो डीबी और विदेशी कुंजी बाधाओं का उपयोग करने की सलाह देता हूं। – Znarkus
हाय @Znarkus, टिप्पणी के लिए धन्यवाद, मूल रूप से मैं भी इस मौजूदा तालिका के लिए एक विदेशी कुंजी संबंध जोड़ने के लिए कोशिश कर रहा हूँ: डी (data_details) – sameera207
परीक्षण नहीं किया लेकिन mysql परमिट thos क्वेरी: अद्यतन data_details सेट d1 account_invoice_id = 1 से data_details d1 अंदरूनी पर d1.account_invoice_id = d1.id वाम data_details d2 शामिल हों शामिल हों d2.account_invoice_id = a.id पर एक accounts_invoices कहां a.id अशक्त –