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
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: