arrays - 无法插入 : ERROR: array value must start with "{" or dimension information

标签 arrays postgresql types sql-insert

INSERT INTO user_data.user_data (username,randomint)
VALUES ('mahman',1);
ERROR:  array value must start with "{" or dimension information
LINE 1: ... user_data.user_data (username,randomint) VALUES ('mahman...
INSERT INTO user_data.user_data (username,randomint)
VALUES {'mahman',1};
ERROR:  syntax error at or near "{"
LINE 1: ...O user_data.user_data (username,randomint) VALUES {'mahman',...
INSERT INTO user_data.user_data (username,randomint)
VALUES (2,{'mahman',1});
ERROR:  syntax error at or near "{"
LINE 1: ...ser_data.user_data (username,randomint) VALUES (2,{'mahman',...

上述不同的 INSERT 语句在 PostgreSQL 中失败。我做错了什么?

我的模式:

journeypost=# \dt user_data.*
           List of relations
  Schema   |   Name    | Type  | Owner 
-----------+-----------+-------+-------
 user_data | user_data | table | user

我的 table :

journeypost=# \d user_data.user_data
           Table "user_data.user_data"
  Column   |          Type           | Modifiers 
-----------+-------------------------+-----------
 username  | character varying(50)[] | not null
 randomint | integer                 | 
Indexes:
    "UsernameUnique" PRIMARY KEY, btree (username)

最佳答案

您的列 username 似乎是 array 类型,因此文字 'mahman' 无效输入。

它必须是 '{mahman}':

INSERT INTO user_data.user_data (username,randomint)
VALUES ('{mahman}',1);

(或者将其改为普通的 varchar 列或 text 列。)

更新确认:character varying(50)[]array character varying(50)

关于array literal/array constructor :

关于arrays - 无法插入 : ERROR: array value must start with "{" or dimension information,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31519063/

相关文章:

c# - 获取对象的属性名称和它期望的类型

索引数组中的 PHP 关联数组

sql - 热搜标签查询

ruby - 迭代哈希数组并显示在 ruby​​ 的下拉列表中

sql - 分组依据中的最大行数

sql - 根据在另一个表中删除的行删除表行

C# 泛型类类型参数(无法隐式转换)

c++ - 如何获得真正的 16 位值?

php - PHP 使用什么样的数组?

C++:像使用数组一样使用 std::vectors 是否安全?