sql >> Database teknologi >  >> RDS >> Oracle

JDBC-forbindelses standard autoCommit-adfærd

Fra Oracle JDBC-dokumentation:

Når en forbindelse er oprettet, er den i auto-commit-tilstand. Det betyder, at hver enkelt SQL-sætning behandles som en transaktion og automatisk begås lige efter, at den er udført. (For at være mere præcis, er standarden, at en SQL-sætning skal begås, når den er fuldført, ikke når den udføres. En sætning er fuldført, når alle dens resultatsæt og opdateringsantal er blevet hentet . I næsten alle tilfælde er en erklæring dog afsluttet, og derfor begået, lige efter den er udført.)

Den anden ting er - du har udeladt oplysninger om oprettelse af forbindelse, så jeg gætter bare - hvis du bruger nogle rammer, eller erhverver en forbindelse fra en datakilde eller forbindelsespulje, er autocommit kan være slået off ved disse rammer/puljer/datakilder - løsningen er aldrig at stole på standardindstillinger;-)




  1. Er det bedre at oprette et indeks, før du fylder en tabel med data, eller efter at dataene er på plads?

  2. Sådan importeres/gendannes MySql-tabeller ved hjælp af PHP

  3. Opret en CHECK-begrænsning i SQLite

  4. MariaDB LOCALTIMESTAMP() Forklaret