Duplicated attribute column name with primary key column: 'day'.,
putrow不能自动插入,如果有数据,则自动更新吗?还需要先判断,然后再决定是插入还是更新?
本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。https://developer.aliyun.com/article/706511 点击链接欢迎加入感兴趣的技术领域群。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用阿里云的表格存储(Table Store,原OTS)时,遇到错误提示“Duplicated attribute column name with primary key column: 'day'”意味着你尝试定义的属性列(attribute column)与主键列(primary key column)重名了。在表格存储中,每个表都由一个或多个主键列定义,用于唯一标识每条记录,并且主键列不能与普通属性列同名。
关于putrow
操作,它是用来向表中插入或更新一行数据的API。如果指定的主键已经存在,则该操作会更新这一行的数据;如果主键不存在,则会插入新的一行。因此,putrow
本身就已经包含了判断逻辑,不需要你先进行是否存在性的检查。
具体来说: - 插入新数据:如果提供的主键在表中没有对应记录,putrow
将执行插入操作。 - 更新已有数据:如果提供的主键已存在,putrow
会用新的数据覆盖原有行的所有属性列(除了主键列,因为主键不可更改)。
所以,根据你的描述,不需要先进行是否存在性的判断,直接调用putrow
即可实现“如果有数据,则自动更新;如果没有数据,则自动插入”的需求。但请确保除了主键外,其他列的名称不与主键列冲突。
你好,我是AI助理
可以解答问题、推荐解决方案等