Yuriy,

On Sat, Dec 29, 2012 at 8:49 PM, Yuriy Kaminskiy <yum...@gmail.com> wrote:
> Igor Korot wrote:
>> Hi, ALL,
>>
>> sqlite> CREATE TABLE leagueplayers(id integer, playerid integer, value 
>> integer,
>> currvalue double, foreign key(id) references leagues(id), foreign 
>> key(playerid)
>> references players(playerid));
>> sqlite> INSERT INTO leagueplayers VALUES(1,(SELECT playerid,value,currvalue 
>> FROM
>>  players));
>> Error: table leagueplayers has 4 columns but 2 values were supplied
>>
>> AFAICT, I am trying to insert 4 values in the table.
>
> No, you
> 1) insert *two* values: 1 and (SELECT) expression;
> 2) improperly use (SELECT) expression:
> There are no array type in sqlite. Only single column results is allowed for
> (SELECT) expression, e.g.:
> sqlite> SELECT (SELECT 1,2);
> Error: only a single result allowed for a SELECT that is part of an expression
>
> Just only first discovered error can be returned (and in this case it was
> inconsistent number of columns for insert).
>
>> Does anybody have an idea what is wrong?
>
> Correct:
>
> INSERT INTO leagueplayers (id, playerid, value, currvalue)
>      SELECT 1, playerid,value,currvalue FROM players;

That worked.

Thank you.

>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to