Как я могу сохранить номера строк в таблицу в SQLite? - PullRequest
2 голосов
/ 05 июля 2019

Я добавил номера строк в таблицу (merged) таким образом:

SELECT ROW_NUMBER() OVER (ORDER BY Pclass) RowNum, *
FROM merged;

, что возвращает:

1|1|0|58|0|0|146.5208|0|20|0|1|1|0.53043592
2|1|0|31|1|0|113.275|0|23|0|1|1|0.671198682
3|1|0|38|0|0|227.525|0|29|0|1|1|0.888825796
4|1|0|36|0|2|71|0|23|1|0|1|0.49853335

Однако, когда я проверяю merged,номера строк больше не присутствуют (обратите внимание, что это приводит к неупорядоченным результатам, но, тем не менее, показывает смысл, который я делаю):

SELECT * FROM merged;

2|0|24|0|0|13|0|38|1|0|0|0.505845678
3|1|61|0|0|6.2375|0|25|1|0|0|0.128146005
2|0|17|0|0|12|0|21|0|1|1|0.465261004
2|1|18|0|0|11.5|0|26|1|0|0|0.458356337

Я подозреваю, что способ достичь этого - обновить merged, добавивновый столбец и затем добавление номеров строк в указанный столбец, но я не знаю, как это сделать.

Таким образом, мой вопрос таков: как я могу сохранить номера строк в merged?

1 Ответ

1 голос
/ 05 июля 2019

SELECT оператор не изменит таблицу merged. Обновление существующей таблицы будет немного сложным, и я думаю, что нет тривиального способа сделать это. Поэтому проще создать новую таблицу, удалить предыдущую и переименовать новую в старую.

Этот код должен работать:

CREATE TABLE new_merged
  AS (SELECT ROW_NUMBER() OVER (ORDER BY Pclass) RowNum, * FROM merged); 

DROP TABLE merged;

ALTER TABLE new_merged RENAME TO merged;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...