Problém s Insert – generuje špatný SQL dotaz

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
jardaj
Člen | 3
+
0
-

Ahoj,
volám insert do tabulky takto:

		return $this->getTable()->insert( array(
			'ticket_id' => $ticket_id,
			'createdby_id' => $createdby,
			'created' => new \DateTime(),
			'text' => $text
		));

ale vrací mi to chybu:
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ticket_id=8

vygenerované SQL není dobře:
INSERT INTO update ticket_id=8, createdby_id=2, created=‚2013–06–11 18:05:39‘,
text=‚abcd‘

Stejné volání u jiné tabulky vygeneruje správný SQL insert:
INSERT INTO tabulka (sloupec, …) VALUES (‚hodnota‘, …)

Čím to může být?

Díky moc za radu.

Editoval jardaj (11. 6. 2013 19:30)

kedrigern
Člen | 102
+
0
-

Tipoval bych to na chybu v metodě getTable.

PavelJurasek
Člen | 39
+
0
-

Název tabulky je „update“, což je klíčové slovo SQL. Musíš ho escapovat, nebo se vyhnout používání klíčových slov v názvech tabulek a sloupců.

Editoval PavelJurasek (25. 6. 2013 17:37)

hrach
Člen | 1836
+
0
-

V aktualnim stablu je to opravene… mas starou verzi nette.