L'insertion de tableau de valeurs
Comment puis-je écrire et exécuter une requête qui insère un tableau de valeurs à l'aide libpqxx?
INSERT INTO exampleTable(exampleArray[3]) VALUES('{1, 2, 3}');
Cet exemple de code me donne:
ERROR: syntax error at or near "'"
Quel est le problème? Dans la documentation PostgreSQL, j'ai trouvé que:
CREATE TABLE sal_emp (
name text,
pay_by_quarter integer[],
schedule text[][]
);
...
INSERT INTO sal_emp
VALUES ('Bill',
'{10000, 10000, 10000, 10000}',
'{{"meeting", "lunch"}, {"training", "presentation"}}');
Quel est le type de
Il est de type smallint, mais il n'a pas d'importance
Bien sûr, c'est important. Votre requête est syntaxiquement correct sur un texte de colonne de tableau .
Je sais. Je voulais dire, il n'y a pas de différence entre les types, qui sont utilisés.
examplearray
?Il est de type smallint, mais il n'a pas d'importance
Bien sûr, c'est important. Votre requête est syntaxiquement correct sur un texte de colonne de tableau .
Je sais. Je voulais dire, il n'y a pas de différence entre les types, qui sont utilisés.
OriginalL'auteur ktoś tam | 2015-10-25
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser un nom de colonne sans index pour insérer un tableau:
Utiliser le nom de la colonne avec un index pour accéder à un élément du tableau:
Vous pouvez utiliser
arr[n]
dansINSERT
mais cela a une signification spéciale. Avec cette syntaxe, vous pouvez créer un tableau avec un élément indexées à partir d'un nombre donné:En conséquence, vous avez un tableau qui limite inférieure est de 3:
aussi vous serez en mesure de exécuter cette instruction
INSERT INTO example(arr) VALUES (ARRAY[1,2,3])
(comme une autre alternative à l'utilisation si vous n'avez pas de chaîne de valeur)OriginalL'auteur klin