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

एक बार में PHP का उपयोग करके SQL में एकाधिक सम्मिलित क्वेरी कैसे चलाएं?

इसका मतलब है कि आपको एक लेनदेन

एक लेन-देन प्रश्नों का एक सेट है जो या तो सभी ठीक से निष्पादित होता है या यदि कोई विफल रहता है - वे सभी विफल हो जाते हैं। यह सुनिश्चित करने के लिए है कि आप अपने टेबल में बकवास डेटा के साथ समाप्त न हों।

नहीं

  • मल्टीक्वेरी का प्रयोग न करें।
  • mysql_* का इस्तेमाल न करें समारोह (ओं)।
  • बल्क इंसर्ट का उपयोग न करें।

जो लोग आपसे ऐसा करने के लिए कह रहे हैं, उन्हें बिल्कुल पता नहीं है कि वे क्या कर रहे हैं, उन्हें नज़रअंदाज़ करें।

करें

  • PDO का इस्तेमाल करें
  • तैयार स्टेटमेंट का इस्तेमाल करें
  • कथन एक बार तैयार करें, उनका कई बार उपयोग करें

नमूना कोड - कॉपी पेस्ट न करें

$dsn = 'mysql:dbname=testdb;host=127.0.0.1;charset=utf8mb4';
$user = 'dbuser';
$password = 'dbpass';

$pdo = new PDO($dsn, $user, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$insert['first'] = $pdo->prepare("INSERT INTO table SET col1 = :val, col2 = :val2");
$insert['second'] = $pdo->prepare("INSERT INTO another_table SET col1 = :val, col2 = :val2"); 

$pdo->beginTransaction();

$insert['first']->bindValue(':val', 'your value');
$insert['first']->bindValue(':val2', 'anothervalue');
$insert['first']->execute();

$insert['second']->bindValue(':val', 'your value');
$insert['second']->bindValue(':val2', 'anothervalue');
$insert['second']->execute();

$pdo->commit();

उपरोक्त कोड डेटा को दो तालिकाओं में तभी सहेजेगा जब दोनों प्रविष्टियां सफल हों।



  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- कॉलम में अनुदान कैसे लागू करें?

  2. MySQL यूजर पैरामीटर्स को सेनिटाइज करना

  3. विभिन्न डीबी में विदेशी कुंजी के साथ django मॉडल का उपयोग कैसे करें?

  4. क्या उसी कॉलम में प्राथमिक कुंजी और दूसरे कॉलम में विदेशी कुंजी बाधा हो सकती है?

  5. जहां क्लॉज में एक अस्थायी कॉलम का उपयोग कैसे करें