sql >> Databasteknik >  >> RDS >> Mysql

Java, hur ändrar man nuvarande databas till en annan?

Som beskrivs i MySQL dokumentation du måste använda Connection.setCatalog() för att byta till en annan databas. Det står också uttryckligen att du inte ska göra det kör en ANVÄND för att byta.

Anledningen till denna varning är att JDBC är ett generiskt gränssnitt till databaser och därför tillhandahåller metoder för de vanligaste uppgifterna, inklusive att byta katalog (eller databaser som de är i MySQL). JDBC-specifikationen/javadoc säger också uttryckligen att folk ska använda API:t över databasspecifika kommandon (om båda är tillgängliga). Det finns flera anledningar till detta:1) det främjar databasoberoende kod, och 2) föraren kan göra ytterligare saker internt som svar på en av API-metoderna. Användning av databasspecifika kommandon kan orsaka att drivrutinen inte beter sig eftersom dess interna tillstånd inte matchar databastillståndet.

Ett samtal till setCatalog(String) kommer inte att påverka befintliga satser, som specificerats i JDBC API-dokumentationen:



  1. IN-sats i mysql nodejs

  2. JDBC vs Web Service för Android

  3. Hur man överför MYSQL db i PHP

  4. NHibernate IPreUpdateEventListener, IPreInsertEventListener sparas inte i DB