数组 – 不能INSERT:ERROR:数组值必须以“{”或维度信息开头

前端之家收集整理的这篇文章主要介绍了数组 – 不能INSERT:ERROR:数组值必须以“{”或维度信息开头前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
journeypost=# 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...

journeypost=# 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,...

journeypost=# 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,...

在Postgresql中,上述不同的INSERT语句失败了.我做错了什么?

编辑:

我的架构:

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

我的桌子:

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)

解决方法

您的列用户名似乎是一个数组类型,因此文字’mahman’不是它的有效输入.

它必须是'{mahman}’:

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

(或者改为使用普通的varchar列或文本列.)

更新确认:字符变化(50)[]是变化的字符数组(50).

猜你在找的MsSQL相关文章