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

Anorm . में परमाणु MySQL लेनदेन

withTransaction का उपयोग करें इसके बजाय withConnection इस तरह:

private def incrementHitCounter(urlName:String) {
  DB.withTransaction { implicit connection =>
    SQL("select @hits:=hits from content_url_name where url_name={urlName};").on("urlName" -> urlName).apply()
    SQL("update content_url_name set hits = @hits + 1 where url_name={urlName};").on("urlName" -> urlName).executeUpdate()
  }
}

और आप यहां लेनदेन का उपयोग क्यों करेंगे? यह भी काम करना चाहिए:

private def incrementHitCounter(urlName:String) {
  DB.withConnection { implicit connection =>
    SQL("update content_url_name set hits = (select hits from content_url_name where url_name={urlName}) + 1 where url_name={urlName};").on("urlName" -> urlName).executeUpdate()
  }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP कैसे लार्वेल का उपयोग करके सरणी से डेटा को mysql में सहेजना है 5

  2. SQL सिंटैक्स त्रुटि - Haversine सूत्र

  3. Mysql पुनरावर्ती संग्रहीत कार्यविधि...सीमा 0 पर पहुंच गया...max_sp_recursion_depth चर नहीं बदल सकता

  4. MySQL SELECT का उपयोग करके वर्चुअल कॉलम कैसे बनाएं?

  5. सबसेलेक्ट करना है या नहीं करना है?