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

MySQL:INSERT SELECT . से रिटर्न परिणाम प्राप्त करें

चूंकि आपकी क्वेरी में LIMIT 1 है आप "परिणाम" को session/user- में स्टोर कर सकते हैं। परिभाषित चर . अभी भी दो प्रश्न लेकिन पुनर्विक्रेता; प्रत्येक कनेक्शन का अपना सत्र होता है।

<?php
$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'localonly', 'localonly');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
setup($pdo);

$query = "
    INSERT INTO tbl1 (myID, myVal1, myVal2)
    SELECT @foo:=myID+1, 'val1', 'val2' FROM tbl2 WHERE x=0 LIMIT 1
";
$pdo->exec($query);
foreach( $pdo->query('SELECT @foo as foo') as $row ) {
    echo $row['foo'];
}


function setup($pdo) {
    $pdo->exec('CREATE TEMPORARY TABLE tbl1 (myID int, myVal1 varchar(16), myVal2 varchar(16))');
    $pdo->exec('CREATE TEMPORARY TABLE tbl2 (myID int, x int)');
    $pdo->exec('INSERT INTO tbl2 (myID, x) VALUES (1,1),(2,1),(3,0),(4,0),(5,1)');
}

tbl2 में x=0 वाला "पहला" रिकॉर्ड है (myID=3,x=0) और स्क्रिप्ट 4 प्रिंट करती है .

इसके अलावा और संग्रहीत प्रक्रियाओं के अलावा (मेरी जानकारी के लिए) SQLServer के जैसा कुछ नहीं है। आउटपुट या पोस्टग्रेस्क्ल का रिटर्निंग MySQL के लिए क्लॉज।



  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 परिवर्तन तालिका त्रुटि का कारण बनती है:NULL मान का अमान्य उपयोग

  2. Eval () शून्य होने पर कस्टम मान प्रदर्शित करता है

  3. जेपीए मैपिंग व्यू और टेबल इनहेरिटेंस के साथ

  4. mysql में इवेंट शेड्यूलर स्थिति बदलें

  5. हाइबरनेट, mysql, ग्लासफ़िश v3, और JTA डेटा स्रोत