read from mysql sql r rdbms rmysql

mysql - from - r sql



RMySQL dbWriteTable con field.types (1)

Después de jugar con las cosas, me di cuenta de cuál es el problema: field.types debe ser un vector de lista field.types , no simplemente una lista; Además, los nombres de las filas no deben incluirse, de lo contrario necesitamos tres tipos de campos. Para el ejemplo anterior, lo siguiente funciona bien:

dbWriteTable(con, name="table_name", value=df, field.types = c(dte="date", val="double(20,10)"), row.names=FALSE)

Tengo un marco de datos, llamado df , que se ve así:

dte, val 2012-01-01, 23.2323 2012-01-02, 34.343

El tipo en las columnas es fecha y numérico. Me gustaría escribir esto en una base de datos MySQL usando una conexión ya abierta. La conexión funciona bien ya que puedo consultar la db fine. Intento ejecutar lo siguiente:

dbWriteTable(con, name="table_name", value=df, field.types=list("date", "double(20,10)"))

Esto genera el error:

Error en la función (clases, fdef, mtable): no se puede encontrar un método heredado para la función "make.db.names", para la firma "MySQLConnection", "NULL"

Si no especifico un tipo de campo, y ejecuto:

dbWriteTable(con, name="table_name", value=df)

Me sale el error

Error en mysqlExecStatement (conn, sentencia, ...): controlador RS-DBI: (no se pudo ejecutar la sentencia: la columna ''dte'' BLOB / TEXT se usó en la especificación de clave sin una longitud de clave)

¿Alguien puede arrojar algo de luz sobre esto?

Gracias