Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या अर्धविराम द्वारा अलग किए गए mysql में एकाधिक प्रश्नों को चलाने का कोई स्मार्ट तरीका है;

यहाँ एक कार्यशील समाधान है

<?php
function function_that_does_multiple_queries($mq, $dblink) {
    // if a new line follows the ; then $q_array = explode(';\n',$mq); is suggested since queries can contain ; below
    $q_array = explode(";",$mq);
    /* 
    //To check structure of array
    echo "<pre>";
    print_r($q_array);
    echo "</pre>";
    exit();
    */
    foreach($q_array as $q){
        $q = trim($q);
        $r[] = mysqli_query($dblink,$q);
    }
    return $r;
}
$multi_query = "CREATE TABLE IF NOT EXISTS `stuff_5_firm` (
  `firmid` int(11) NOT NULL,
  `firm_name` varchar(256) NOT NULL,
  `firm_invoice_adr` text NOT NULL,
  `firm_invoice_email` varchar(256) NOT NULL,
  `firm_admin_con_to_userid` int(16) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `stuff_6_invoice` (
  `invoiceid` int(11) NOT NULL,
  `inv_date` datetime NOT NULL,
  `inv_due` datetime NOT NULL,
  `inv_paid` datetime NOT NULL,
  `inv_amount` int(11) NOT NULL,
  `inv_text` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;";

function_that_does_multiple_queries($multi_query, $dblink);

?>
"; बाहर निकलना(); */ foreach($q_array के रूप में $q){ $q =trim($q); $r[] =mysqli_query($dblink,$q); } $r लौटाएं;}$multi_query ="यदि मौजूद नहीं है तो तालिका बनाएं `stuff_5_firm` (`फर्मिड` int(11) नॉट न्यूल, `फर्म_नाम` वर्कर (256) नॉट न्यूल, `फर्म_इनवॉइस_एड्र` टेक्स्ट न्यूल नहीं, `फर्म_इनवॉइस_मेल` वर्कर (256) न्यूल नहीं, `फर्म_एडमिन_कॉन_टो_यूसरिड` इंट(16) नॉट न्यूल) इंजन =इनो डीबी डिफॉल्ट चार्जसेट =लैटिन 1; टेबल बनाएं यदि मौजूद नहीं है तो `stuff_6_invoice` (`इनवॉइसिड` इंट (11) न्यूल नहीं है, `इनव_डेट` डेटाटाइम न्यूल नहीं है, `inv_देय` डेटाटाइम न्यूल नहीं, `inv_paid` डेटाटाइम न्यूल नहीं है, `inv_amount` int(11) नॉट न्यूल, `inv_text` int(11) NOT NULL) इंजन=InnoDB DEFAULT CHARSET=latin1;";function_that_does_multiple_queries($multi_query, $ dblink);?>

संभवत:mysqli_multi_query का उपयोग करना बेहतर है, जिसे यहां समझाया गया है http://php.net /manual/hi/mysqli.multi-query.php (@andrewsi को धन्यवाद)।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL SELECT क्वेरी में IF स्टेटमेंट का उपयोग करना

  2. क्या कोई विदेशी कुंजी प्राथमिक कुंजी के रूप में कार्य कर सकती है?

  3. समय क्षेत्र की परवाह किए बिना MySQL डेटाटाइम को अंतराल में समूहित करना

  4. क्या डेटाबेस में संग्रहीत करने से पहले उपयोगकर्ता इनपुट से बचना/एन्कोड करना बेहतर है या इसे डेटाबेस में संग्रहीत करना और पुनर्प्राप्त करते समय इसे बचाना बेहतर है?

  5. क्लाउड फायरस्टोर डेटाबेस में डेटा जोड़ना