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

Sådan indsætter du UUID i kolonnen RAW(16).

Du skal konvertere UUID til et byte-array. Se metoden asBytes hvordan man gør det.

Efter det er bindingen enkel som at bruge setBytes .

Eksempel

def stmt = con.prepareStatement("insert into TAB_UUID (id, uuid) values (?,?)") 
// bind
stmt.setInt(1,1)
def uuid = UUID.randomUUID()
stmt.setBytes(2,asBytes(uuid)) 
def rowCount = stmt.executeUpdate()

Her for tilfælde af at linket ikke virker konverteringsmetoden UUID til byte array

  public static byte[] asBytes(UUID uuid) {
    ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
    bb.putLong(uuid.getMostSignificantBits());
    bb.putLong(uuid.getLeastSignificantBits());
    return bb.array();
  }


  1. MySQL length() vs char_length()

  2. MYSQL Sådan matcher du to ord i en sætning

  3. Python+MySQLdb underligt problem

  4. Flere relationer til den samme model CakePHP