Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 30th, 2012  |  syntax: None  |  size: 0.95 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. THESE STATEMENTS CREATED BYE _0@
  2.  
  3. CREATE TABLE 'Foo' (
  4. 'foo' INTEGER PRIMARY KEY NOT NULL,
  5. 'bar' VARCHAR(10) NOT NULL ,
  6. 'baz' VARCHAR(10),
  7. 'biff' VARCHAR(10),
  8. );
  9.  
  10.  
  11. CREATE TEMPORARY TABLE 'Foo_temp_alter' (
  12. 'foo' INTEGER PRIMARY KEY NOT NULL,
  13. 'bar' VARCHAR(10) NOT NULL,
  14. 'baz' VARCHAR(10)
  15. ):
  16. :
  17.  
  18. When we run the following:
  19.  
  20. INSERT INTO 'Foo_temp_alter' SELECT 'foo', 'bar', 'baz' FROM 'Foo':
  21.  
  22. We Get:
  23.  
  24. DBI Exception: DBD::SQLite::db do failed: datatype mismatch
  25.  
  26. THIS IS TOTALLY FINE:
  27.  
  28. CREATE TABLE Foo (
  29. foo INTEGER PRIMARY KEY NOT NULL,
  30. bar VARCHAR(10) NOT NULL,
  31. baz VARCHAR(10)
  32. );
  33.  
  34. CREATE TEMPORARY TABLE Foo_temp_alter (
  35. foo INTEGER PRIMARY KEY NOT NULL,
  36. bar VARCHAR(10) NOT NULL,
  37. baz VARCHAR(10)
  38. );
  39.  
  40. INSERT INTO Foo_temp_alter SELECT foo, bar, baz FROM Foo:
  41.  
  42. MY GUESS...
  43.  
  44. INSERT INTO 'Foo_temp_alter' SELECT 'foo', 'bar', 'baz' FROM 'Foo':
  45.  
  46. that is doing select literals not select on column
  47.  
  48. For example:
  49.  
  50. sqlite> select 'foo' from 'Foo';
  51. foo
  52. foo
  53. foo
  54. foo
  55. foo