Hi Leute,
habe ein komisches Verhalten von SQLite entdeckt: bei INSERT INTO tabelle1 SELECT * FROM tabelle2 schreibt er zwar alle felder von tabelle2 nach tabelle1, aber wenn die felder der einzelnen tabellen nicht in derselben reihenfolge erzeugt wurden, kommen die werte nicht in den korrekten spalten an, z.B.
[sql]E:\ >sqlite medoc.db
SQLite version 2.8.13
Enter ".help" for instructions
sqlite > create table test1 (
... > id INTEGER PRIMARY KEY,
... > val1 VARCHAR,
... > val2 VARCHAR,
... > val5 VARCHAR
... > );
sqlite > create table test2 (
... > id INTEGER PRIMARY KEY,
... > val1 VARCHAR,
... > val2 VARCHAR,
... > val3 VARCHAR,
... > val4 VARCHAR,
... > val5 VARCHAR
... > );
sqlite > INSERT into test1 (id, val1, val2, val5) values (1, 'val1', 'val2', 'val5');
sqlite > insert into test1 (id, val1, val2, val5) values (2, 'val1', 'val2', 'val5');
sqlite > .headers on
sqlite > select * from test1;
id|val1|val2|val5
1|val1|val2|val5
2|val1|val2|val5
3|val1|val2|val5
sqlite > insert into test2 select *, '3' AS val3, '4' AS val4 from test1;
sqlite > select * from test2;
id|val1|val2|val3|val4|val5
1|val1|val2|val5|3|4
2|val1|val2|val5|3|4
3|val1|val2|val5|3|4
sqlite >
[/sql]
hier ist der wert 'val5' in der spalte val3, und '3' und '4' sind in den spalten val4 und val5...
ist das jetzt ein Bug oder ein Feature?\n\n
<!--EDIT|Strat|1091917926-->