mysql - 如何跳过 sqlSave() 命令中的主键?

标签 mysql r rodbc

我正在尝试使用 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 列数据分配 NULL0 的值。然后MySQL会自动为它生成值。

关于mysql - 如何跳过 sqlSave() 命令中的主键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6353644/

相关文章:

mysql:加入最新产品价格的产品表

mysql - 从 node.js 在 redis 中查询

r - 合并较大数据的有效替代方法

r - 如何在R中生成0和1之间没有0和1的随机数?

php - or_like 在 codeIgniter 中不起作用

php - 带有更改变量列表的 pdo 准备语句

r - 选择以另一个数据框为条件的数据框的行号

r - 如何将数据帧插入SQL Server表中?

在 R 中以 64 位读取访问数据库 (mdb)

sql-server - RODBC 连接的 SQL Server 查询失败,可在 SQL Server 中运行