Oznámení
Postgre a úvozovky při insertu
před 6 lety
- podolinek
- Člen | 8
Zdravím,
mám multipleinsert dotaz do sql:
<?php
dibi::query('INSERT INTO '.$table.' %m', $args);
?>
S daty:
`Array
(
[engineInstanceId] ⇒ Array
(
[0] ⇒ 1
[1] ⇒ 1
)
[startedAt] ⇒ Array
(
[0] ⇒ 2013–08–14 15:09:58
[1] ⇒ 2013–08–14 15:09:58
)
[finishedAt] ⇒ Array
(
[0] ⇒ 2013–08–14 15:09:59
[1] ⇒ 2013–08–14 15:10:00
)
[engineInputParams] ⇒ Array
(
[0] ⇒ ''
[1] ⇒ ''
)
)`
Jenže při vygenerování mi to postgres neuvěří, že prý mu vadí uvozovky v názvu sloupců.
INSERT INTO event_1 ("engineInstanceId", "startedAt", "finishedAt", "engineInputParams") VALUES (1, '2013-08-14 15:09:58', '2013-08-14 15:09:59', ''), (1, '2013-08-14 15:09:58', '2013-08-14 15:10:00', '')
Jde nějak inteligentně jednoduše nastavit typ uvozovek u názvů sloupců v dibi?
před 6 lety
- Milo
- Nette Core | 1119
Jak mu vadí uvozovky? Syntakticky je to správně. Nemáš náhodou v databázi sloupce pojmenované malými písmeny?
Pro jméno tabulky použij modifikátor %n
:
dibi::query('INSERT INTO %n', $table, '%m', $args);
před 6 lety
- podolinek
- Člen | 8
Jak mu vadí uvozovky? Syntakticky je to správně. Nemáš náhodou v databázi sloupce pojmenované malými písmeny?
Jo, to je přesně ono. Při vytváření tabulky jsem sloupce zadával sice camelized, ale bez uvozovek, takže se mi to tam lilo všechno malýma.
Díky za nakopnutí.
Ondrej