Mysql
 sql >> Datenbank >  >> RDS >> Mysql

io.vertx.mysqlclient.MySQLPool.query().execute wird nie wirklich ausgeführt und gibt nichts zurück

Der Reactive MySQL Client führt Abfragen asynchron aus. Wenn Sie also die eingefügten Zeilen lesen möchten, müssen Sie dies im Callback tun:

client.query("INSERT INTO mytable('id','name') VALUES ('2','Jimis2')").execute { insert ->
    if (insert.succeeded()) {

        var rows = insert.result()
        var lastInsertId = rows.property(MySQLClient.LAST_INSERTED_ID)
        println("Last inserted id is: ${lastInsertId}")

        client.query("SELECT * FROM mytable WHERE id=1").execute { select ->
            if (select.succeeded()) {
                var result = select.result()
                println("Got ${result.size()} rows ")
            } else {
                select.cause().printStackTrace()
            }

            client.close()
        }

    } else {
        insert.cause().printStackTrace()
        client.close()
    }
}