如何解决无法在 PostgreSQL 中添加文本值
使用“”将数据插入文本列时出现错误,当我删除引号时,postgres 运行并添加值为 0 的列。
INSERT INTO tablex (dates,times,openp,high,low,closep,volume)
VALUES ("03/08/2021",2300,1680,1688.6,1685.1,12074);
列日期和时间都定义为文本列。其他列被定义为浮动。
错误:“03/08/2021”列不存在
第 4 行:(“03/08/2021”、2300、1680、1688.6、1680、1685.1、12074);
当引号被移除时,列日期填充为 0 值
我该如何解决这个问题?
解决方法
INSERT INTO tablex
(dates,times,openp,high,low,closep,volume)
VALUES
('03/08/2021',2300,1680,1688.6,1685.1,12074);
试试这个,看看它是否有效。用单引号替换双引号。
,单引号用于表示标记是字符串。这是 在整个 PostgreSQL 中的许多不同上下文中使用。
尝试用 '
(单引号)包围您的字符串值并运行查询。
INSERT INTO tablex (dates,volume)
VALUES ('03/08/2021',12074);
这应该可以正常工作。
如果您需要在字符串中包含单引号,您可以通过插入两个连续的单引号(两个单引号,而不是双引号)来实现。
例如,您可以通过键入以下内容插入另一个带有嵌入式单引号的字符串:
INSERT INTO my_table(text) VALUES ('How''s it going?');
单引号字符串是分配或检查字符串值的适当方式。
,您应该按照其他答案的建议使用单引号。
如果使用双引号,字符串将被视为标识符(表名或列名),因此会出现错误消息。没有任何引用,03/08/2021 被视为一个算术表达式,由于整数除法而产生 0。
您永远不应该在 text
列中存储日期。这使您无法在未引用的情况下获得有用的错误消息,并且稍后会导致问题和不一致。使用适当的数据类型 date
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。