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

Grails:हाइबरनेट बोली बदलते समय SQL सिंटैक्स में त्रुटि

आप MyISAM का उपयोग क्यों करना चाहेंगे ??? यह विदेशी कुंजी या लेनदेन का समर्थन नहीं करता है। और यह शायद ही कभी InnoDB से तेज़ होता है क्योंकि MyISAM के फ़ुल-टेबल लॉक के विपरीत InnoDB पंक्ति लॉक और MVCC का उपयोग करता है।

ऐसा कहकर, आप इसे काम पर ला सकते हैं। आप type . के बाद से MySQL के नए संस्करण का उपयोग कर रहे होंगे विशेषता कुछ समय के लिए बहिष्कृत कर दी गई थी और अब समर्थित नहीं है - आपको ENGINE . का उपयोग करना होगा बजाय। इसका समर्थन करने वाली कोई बोली नहीं है (ध्यान दें कि org.hibernate.dialect.MySQL5InnoDBDialect InnoDB के लिए सही काम करता है) इसलिए आपको अपना खुद का बनाना होगा।

इस वर्ग को src/groovy या src/java में बनाएँ (पैकेज और/या वर्ग का नाम बदलें):

package com.mycompany.myapp

import org.hibernate.dialect.MySQLMyISAMDialect

class MySQL5MyISAMDialect extends MySQLMyISAMDialect {
   String getTableTypeString() {
      " ENGINE=MyISAM"
   }
}

और इसे DataSource.groovy में संदर्भित करें जैसा आपने अपने प्रश्न में दिखाया था:

dialect = com.mycompany.myapp.MySQL5MyISAMDialect



  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. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:संचार लिंक विफलता

  3. एक mysql कंटेनर में डेटा जमा करें

  4. Django डेटाटाइम फ़ील्ड - दृश्य में समयक्षेत्र में कनवर्ट करें

  5. MySQL में प्रत्येक श्रेणी से रैंडम रिकॉर्ड कैसे प्राप्त करें?