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

मैं mysql के साथ PDO में ON DUPLICATE KEY UPDATE का उपयोग कैसे कर सकता हूं?

आप MySQL के VALUES() का उपयोग कर सकते हैं समारोह:

इसलिए, आपके मामले में:

ON DUPLICATE KEY UPDATE expiry = VALUES(expiry)

वैकल्पिक रूप से, आप चौथा पैरामीटर बना सकते हैं जिससे आप $expiry bind को बाइंड करते हैं फिर से:

$sql = "INSERT INTO $table (user_id, licence, expiry)
                        VALUES (
                        :user_id,
                        :licence,
                        :expiry)
    ON DUPLICATE KEY UPDATE expiry = :another";


try {
    $dbh = new PDO('login info here');
    $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    $stmt = $dbh->prepare($sql);
    $stmt->bindParam(':user_id', $userID , PDO::PARAM_INT);
    $stmt->bindParam(':licence', $licence, PDO::PARAM_STR);
    $stmt->bindParam(':expiry' , $expiry , PDO::PARAM_STR);
    $stmt->bindParam(':another', $expiry , PDO::PARAM_STR);
    $stmt->execute();
    // etc.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 2 सरणियों को मिलाएं और मानों का योग करें (संख्यात्मक कुंजियाँ)

  2. रिपोर्ट में दो तालिकाओं से क्वेरी

  3. node.js mysql त्रुटि:ECONNREFUSED

  4. MySQL वाइल्ड कार्ड से बचना

  5. MySQL में एक स्ट्रिंग को कई बार दोहराएं - REPEAT ()