sql >> データベース >  >> RDS >> Mysql

io.vertx.mysqlclient.MySQLPool.query().executeが実際に実行されることはなく、何も返されません

    Reactive MySQL Clientは、クエリを非同期で実行します。したがって、挿入した行を読みたい場合は、コールバックでそれを行う必要があります:

    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()
        }
    }
    



    1. Zend Frameworkを使用してDBから整数をフェッチすると、値が文字列として返されます

    2. 半径/最も近い結果-GoogleMapsAPI

    3. 2つのMySQLテーブル間で欠落している値を見つける方法

    4. A日からB日までの検索データにはWHERECLAUSEを使用します