On 25/02/2009 10:30 AM, P Kishor wrote: > On Tue, Feb 24, 2009 at 5:19 PM, Leo Freitag <leofrei...@netcologne.de> wrote: >> Hallo, >> >> I'm trying to insert the highest value of tblName into tblZO. >> >> There fore I followed the hints in this article ... >> http://www.nabble.com/How-to-use-the-ROWID-of-the-last-inserted-row-for-FK-insert-into-other-tables--td19085514.html#a19085514 >> >> ... but I got a error (see below) >> >> SQLite version 3.3.13 >> Enter ".help" for instructions >> sqlite> create 'tblName' ('id' integer primary key, 'text' text); >> SQL error: near "'tblName'": syntax error >> sqlite> create table 'tblName' ('id' integer primary key, 'text' text); >> sqlite> insert into 'tblName' Values (NULL, 'one'); >> sqlite> insert into 'tblName' Values (NULL, 'two'); >> sqlite> insert into 'tblName' Values (NULL, 'three'); >> sqlite> insert into 'tblName' Values (NULL, 'four'); >> sqlite> insert into 'tblName' Values (NULL, 'five'); >> sqlite> create table 'tblRefMaxName' ('ref' integer, 'nn' text); >> sqlite> insert into 'tblRefMaxName' Values (select max(id) from tblName, >> 'eins') > > select max(id) from tblName, 'eins' is not a valid select statement.
That is not the problem. Consider this: sqlite> insert into 'tblRefMaxName' Values (NULL, select max(text) from tblName); SQL error: near "select": syntax error select max(text) from tblName *IS* a valid select statement. Having a valid select statement is of course necessary but it is not sufficient. At this stage an expr is expected, and the only way the syntax railroad diagram allows you to get a select statement in there is: --- ( select-stmt ) --- i.e. like this: sqlite> insert into 'tblRefMaxName' Values (NULL, (select max(text) from tblName)); sqlite> select * from tblRefMaxName; 5|eins |two sqlite> Note that if the table had only one column you would still need the parentheses: insert into 'tblRefMaxName' Values ((select max(text) from tblName)); GENERAL RULE: always wrap an inner select in parentheses, whether it's being used as an expression or as a join-source. HTH, John _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users