2

sql2o の使用 ( https://github.com/aaberg/sql2o )

末尾にスペースがある VARCHAR カラムを選択した場合 (例: "some value ")、戻り値は"some value"

mysql cli から選択すると、結果に末尾のスペースが含まれます

これが起こらないようにする方法に関するドキュメントが見つかりません

  • テーブル:
CREATE TABLE names
(
    name     VARCHAR(100),
    PRIMARY KEY (experiment_key, metric_name)
);
  • コード例:
 Sql2o sql2o;

        String name = "some name with trailing space    ";
        try (Connection con = sql2o.open()) {
            con.createQuery("INSERT INTO names (name) VALUES(:name)")
                    .addParameter("name", name)
                    .executeUpdate();
        }        


        String nameFromDB; 
        try (Connection con = sql2o.open()) {
            nameFromDB =  con.createQuery("select name from names")
                    .executeAndFetchFirst(String.class);
        }

        if (!nameFromDB.equals(name)){
            throw new RuntimeException("where did the trailing spaces go ??? :( ");
        }
4

1 に答える 1