Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL:Dapatkan hasil pengembalian dari INSERT SELECT

Karena kueri Anda memiliki LIMIT 1 Anda dapat menyimpan "hasil" di sesi/pengguna- variabel yang ditentukan . Masih dua pertanyaan tetapi masuk kembali; setiap koneksi adalah sesinya sendiri.

<?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)');
}

catatan "pertama" di tbl2 memiliki x=0 adalah (myID=3,x=0) dan skrip mencetak 4 .

Selain itu dan prosedur tersimpan dan lain-lain, (sepengetahuan saya) tidak ada yang seperti SQLServer KELUARAN atau KEMBALI postgresql klausa untuk 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. Mengapa string SQL saya menyebabkan Pesan Kesalahan:Kesalahan parse:kesalahan sintaks di PHP?

  2. Bagaimana cara menggunakan kunci utama yang bertambah otomatis sebagai kunci asing juga?

  3. GABUNG dengan GROUP BY dalam DB yang Dinormalisasi tentang Sumber Daya, Topik &Bab

  4. Unserialize PHP menggunakan Microsoft SQL Query

  5. Apakah mungkin untuk memasukkan data ke dalam tampilan MySQL?