如何解决PostgreSQL 无法向表中插入数据列不存在
Postgresql 13,pgAdmin 4。
- student_id(文本,主键)
- 姓氏(文本)
- 名字(文本)
- 主要(文本)
- credit_hours (int)
我只是想将另一个学生添加到此表中,我正在尝试使用下面的查询来完成
INSERT INTO Public."Student" ("student_id","last_name","first_name","major","credit_hours")
VALUES ("S201217","BAR","FOO","CSC",100);
ERROR: column "S201217" does not exist
LINE 2: VALUES ("S201217",100);
^
sql state: 42703
Character: 105
对于这样一个基本错误,我真的在这里遗漏了什么,为什么这个查询不能添加一行?
解决方法
双引号用于引用列。使用单引号代替双引号。
INSERT INTO Public."Student" ("student_id","last_name","first_name","major","credit_hours")
VALUES ('S201217','BAR','FOO','CSC',100);
,
DB 引擎认为这个 "S201217"
是列名,加上单引号就可以了
INSERT INTO Public."Student" (student_id,last_name,first_name,major,credit_hours)
VALUES ('S201217',100);
如果您使用它来命名此类具有大写字母的字符串,则您需要“”,例如,您的表,因为它以大写字母 S 开头,所以应该用双引号括起来,列名不需要它。或者例如,如果执行 select
Select now() as 'Time now'
因为别名有空字符串和大写字母,你需要在“”中包含
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。