5

MySQLまたは他のMySQLコネクタAPIで動作する単純なクエリを実行しようとしています。

SELECT * FROM `table` WHERE type = 'farmer'

RMySQLパッケージを使用してさまざまな方法を試しましたが、すべて同じエラーが発生します RS-DBI driver warning: (unrecognized MySQL field type 7 in column 1 imported as character)

Type = 'farmer'
(Query<-paste0("SELECT * FROM `table` WHERE type = '%",Type,"%'")) 
res<-dbGetQuery(con, Query)

Query<-paste("SELECT * FROM `table` WHERE type = \'farmer\'")



Query<-paste("SELECT * FROM `table` WHERE type = 'farmer'")

私は何が間違っているのですか?

4

3 に答える 3

11

「type」はMYSQLのキーワードです。フィールド名をエスケープするには、バックティックで囲みます。

SELECT * FROM `table` WHERE `type` = 'farmer'

また、おそらくテーブルにタイムスタンプ列があります。Rはその列タイプを認識しないことが知られています。SQLステートメントの部分でUNIXタイムスタンプに変換します。

于 2012-12-23T14:37:40.353 に答える
0

db スキーマの列にタイプ 7 の何かがあるように見えますが、そのタイプは RMySQL ドライバーには認識されていないようです。

クエリで列1を除外しようとするか、select * ...たとえば次のような方法でレベルでキャストしようとします

 select foo as character, bar, bim, bom from 'table' where ...
于 2012-12-22T23:21:53.363 に答える