Somewhat bizarrely only "BLOB" affinity doesn't make it from the original
table to the new table when using the "select" syntax to create the new
table.  Even items with aliased affinities (VARTEXT, or something that
defaults to NUMERIC) comes across as the base affinity but at least have an
affinity.

This is simple to reproduce:

sqlite> .version
SQLite 3.29.0 2019-07-10 17:32:03
fc82b73eaac8b36950e527f12c4b5dc1e147e6f4ad2217ae43ad82882a88bfa6
zlib version 1.2.11
gcc-5.2.0
sqlite> create table x(a int, b text, c real, d blob, e vartext, f garbage);
sqlite> pragma table_info(x);
0|a|int|0||0
1|b|text|0||0
2|c|real|0||0
3|d|blob|0||0
4|e|vartext|0||0
5|f|garbage|0||0
sqlite> create table y as select * from x;
sqlite> pragma table_info(y);
0|a|INT|0||0
1|b|TEXT|0||0
2|c|REAL|0||0
3|d||0||0
4|e|TEXT|0||0
5|f|NUM|0||0
sqlite> select * from sqlite_master;
table|x|x|2|CREATE TABLE x(a int, b text, c real, d blob, e vartext, f
garbage)
table|y|y|3|CREATE TABLE y(
  a INT,
  b TEXT,
  c REAL,
  d,
  e TEXT,
  f NUM
)
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to