在PostgreSQL中使用INSERT INTO
时,有没有办法忽略缺少列的值?
例如:
INSERT INTO tblExample(col_Exist1, col_Exist2, col_NotExist) VALUES ('Val1', 'Val2', 'Val3)
我想插入一个包含值Val1
和Val2
的新行,但忽略Val3
,因为它的列不存在,所以结果将是:
# | col_Exist1 | col_Exist2
-----------------------------
1 | Val1 | Val2
我看到有一个INSERT ... ON CONFLICT DO NOTHING
结构,但这似乎只适用于整行-而不是奇异值。
为了解释,我意识到这可能不是最佳实践,但我的应用程序使用基于文档属性动态创建的查询-属性 * 可以 * 变化,但有很多列,所以显式定义它们是痛苦的。相反,我使用一个'模板'文档来定义它们,希望我可以忽略模板文档中不存在的其他文档的属性。
先谢了。
编辑:现在我已经找到了一个解决方法--我只是查询表以获得列的列表--如果列名存在,则将该属性添加到新的INSERT INTO
查询中。
1条答案
按热度按时间6tdlim6h1#
把文档的数据移动到json中怎么样?形成一个表格,其中包含以下字段:
在这个技巧之后,你可以存储任何你想要的动态数据