だから私は以下を使用して作成されたテーブルを持っています:
dbGetQuery(conn, "CREATE TABLE Data (DataID integer primary key autoincrement,
DataTypeID integer, DataName varchar)")
いくつかのコードの後、次のような「insertdata」というデータ フレームを作成します。
type name
1 1 Data1
2 1 Data2
3 1 Data3
4 1 Data4
5 1 Data5
そして、次を使用してテーブルに挿入します。
dbWriteTable(conn, "Data", insertdata, append=TRUE)
後で、次のように、別のタイプの挿入する別のデータフレームを作成します。
type name
1 2 OtherData1
2 2 OtherData2
3 2 OtherData3
4 2 OtherData4
5 2 OtherData5
しかし、以前と同じ dbWriteTable を使用すると、
"Warning message:
In value[[3L]](cond) :
RS-DBI driver: (RS_SQLite_exec: could not execute: PRIMARY KEY must be unique)"
何故ですか?私のテーブルは、主キーを自動インクリメントするように設定されています。ユニークでないキャラクターがどこから来るのかわかりません。行名がそれぞれ同じだからですか?