Можно ли скопировать некоторые строки из одной таблицы в другую вместе с rowids? - PullRequest
4 голосов
/ 22 мая 2011

Если я наберу:

INSERT INTO table_b 
SELECT rowid, somecolumn 
  FROM table_a 

... столбец rowid будет копироваться в новую таблицу как обычный столбец, и это, скорее всего, приведет к ошибке, поскольку столбцы не будут совпадать.

Но есть ли способ скопировать точно те же строки из старой таблицы в новую, когда я заполняю ее свежей?

Я знаю, что это можно сделать так:

INSERT INTO table_b 
  (rowid, othercolumn) 
  VALUES (334,  'sometext')

... но это должна быть запись строка за строкой вместо одной строки sql команды.

Ответы [ 2 ]

3 голосов
/ 22 мая 2011

Первый SQL, который вы пишете, является правильным и копирует всю информацию, соответствующую столбцам.Вы также можете использовать такой запрос:

INSERT INTO table2( rowId, rowValue)

SELECT rowId, rowValue FROM table1
1 голос
/ 22 мая 2011

Вы пробовали это:

INSERT INTO table_b (target_name, target_name2)
  SELECT rowid, somecolumn 
  FROM table_a 

Должно работать нормально. Но я не сделал это на sqlite ...

...