我正在尝试使用 RODBC 在 MySQL 数据库中插入一个 data.frame。我使用的命令如下:
sqlSave(channel,dbData,tablename='table_name', append=TRUE,safer=TRUE,fast=FALSE,verbose=TRUE)
现在我尝试插入数据的表有一个自动递增的主键。我的表共有 7 列,包括主键。在我的数据框中,我有 6 列,因为我不想自己插入 PK。但是,当我运行命令时,出现以下错误:
23000 1062 [MySQL][ODBC 5.1 Driver][mysqld-5.5.13]Duplicate entry '1' for key 'PRIMARY'
从上面的错误中,我了解到它试图在已经存在以 1 作为其 PK 的记录时插入 '1' 作为主键。知道如何使用 sqlSave() 避免这种情况吗?
提前致谢。
最佳答案
您可以尝试在数据框中添加第七列,并为 PK 列数据分配 NULL
或 0
的值。然后MySQL会自动为它生成值。
关于mysql - 如何跳过 sqlSave() 命令中的主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6353644/