2017-10-17 7 views
1

RMySQLパッケージでdbWriteTable()を使用すると、論理値は値に関係なく0として書き込まれます。私はその真の値が返されます期待1:RMySQL - dbWriteTable()はTRUE論理を0として書き込みます。

# Setup 
# con is a valid MySQLConnection object 
> df <- data.frame(string = 'Testing Logical Values', 
       t_lgl = TRUE, 
       f_lgl = FALSE, 
       stringsAsFactors = FALSE) 
> df 
        string t_lgl f_lgl 
1 Testing Logical Values TRUE FALSE 
> class(df[,2]) 
[1] "logical" 

# Test 
# This schema has no tables until dbWriteTable() is called 
> dbWriteTable(con,'test_table',df) 
[1] TRUE 

# Result 
> dbReadTable(con,'test_table') 
        string t_lgl f_lgl 
1 Testing Logical Values  0  0 
> class(dbReadTable(con,'test_table')[,2]) 
[1] "integer" 

べきではありません、それは本当だったと論理などdbWriteTable()に渡されたので、t_lgl値リターン1?

答えて

0

RMySQLパッケージはであり、RMariaDBが好ましい。

con <- dbConnect(RMariaDB::MariaDB(), group = "my-db") 

dbWriteTable(con, "test", data.frame(a=T, b=F), overwrite = T) 
RMariaDBを使用して、私は正常にこのようなMySQLデータベースに logical値を書き込むことができています
関連する問題