我正在尝试对postgres表进行简单的插入,但是我收到一个错误,我正在尝试插入的值被解释为列名
INSERT INTO "imageTagBusinessMainCategory"
(id, businessMainCategory)
VALUES
(DEFAULT, "auto dealer")
Run Code Online (Sandbox Code Playgroud)
其中id设置为主键,自动增量,而不是null.这些是我在phpPgAdmin中设置表时勾选的框.
我收到这个错误但是:
ERROR: ERROR: column "auto dealer" does not exist
Query = INSERT
INTO "imageTagBusinessMainCategory"
(id, businessMainCategory)
VALUES
(DEFAULT,
"auto dealer")
Run Code Online (Sandbox Code Playgroud)
我把我的表名放在双引号中,正如我在这里读到的那样.
并且用于DEFAULT
自动增加id,就像我在这里读到的那样.
有任何想法吗?谢谢!
Mat*_*att 133
请'auto dealer'
改用.PostgreSQL解释"
为标识符的引号,'
作为字符串的引号.
也:
如果这是一个新项目,请不要使用混合大小写表; 这是后来沮丧的根源.您必须引用标识符名称并使案例更正,而不是在SQL语句中使用任何大小写.
没有必要指定id
/ DEFAULT
,你要求它做它本来已经做过的事情.我没有遇到需要你包含columnName
/ 的DBMS,DEFAULT
如果你想让它把默认值放在列中,所以我认为这个额外的KV对不会让以后阅读你的代码的人更清楚.
INSERT INTO "imageTagBusinessMainCategory"
("businessMainCategory")
VALUES
('auto dealer')
Run Code Online (Sandbox Code Playgroud)
编辑:在列名称周围添加双引号
Postgres、Oracle 等希望列名在大小写混合的情况下用引号引起来。因此,要么为表格列创建全部小写或全部大写的惯例,要么按照 David Faber 建议使用引号
INSERT INTO "imageTagBusinessMainCategory"
("businessMainCategory")
VALUES
('auto dealer')
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38203 次 |
最近记录: |