Как удалить повторяющиеся треки из Banshee?

Как удалить повторяющиеся треки от Банши?

19
задан 13 January 2011 в 05:14

32 ответа

Это известная ошибка, которая была исправлена ​​в новых версиях Banshee.

Вы можете использовать последнюю версию Banshee из известной ошибки : [!d2 ]

sudo add-apt-repository ppa:banshee-team/ppa
sudo apt-get update && sudo apt-get upgrade

Как подписаться на ошибку?

7
ответ дан 25 May 2018 в 23:30
  • 1
    У меня не было впечатления, что этот вопрос конкретно касался этой ошибки. Вы можете получить дубликаты треков в своей библиотеке, даже если вы никогда не сталкиваетесь с ошибкой импорта / повторного сканирования, и я не уверен в возможности автоматически удалить их сейчас, когда эта опция больше не доступна в расширении Mirage. – Michael Martin-Smucker 28 January 2011 в 22:00

найти базы данных sqlite3 (~/.конфиг/банши-1/баньши.дБ) и выполните следующий запрос:

delete from coretracks where TrackID in ( select trackid from ( select TrackID as trackid, count(TrackID) as c from coretracks group by TitleLowered,ArtistID,AlbumID,Title ) where c > 1 );

НПС используйте команду "и sqlite3" для открытия базы данных, а не просто "на SQLite".

P. P. S. мне пришлось выполнить запрос несколько раз, каждый запуск удаляет только один дополнительный дубликат. Это происходит потому, что внутренняя выберите только дает вам идентификатор одного избыточного трек для каждого Название/Исполнитель/Альбом комбинации.

7
ответ дан 26 July 2018 в 23:10

найти базы данных sqlite3 (~/.конфиг/банши-1/баньши.дБ) и выполните следующий запрос:

delete from coretracks where TrackID in ( select trackid from ( select TrackID as trackid, count(TrackID) as c from coretracks group by TitleLowered,ArtistID,AlbumID,Title ) where c > 1 );

НПС используйте команду "и sqlite3" для открытия базы данных, а не просто "на SQLite".

P. P. S. мне пришлось выполнить запрос несколько раз, каждый запуск удаляет только один дополнительный дубликат. Это происходит потому, что внутренняя выберите только дает вам идентификатор одного избыточного трек для каждого Название/Исполнитель/Альбом комбинации.

7
ответ дан 31 July 2018 в 10:36

Найдите базу данных sqlite3 (~ / .config / banshee-1 / banshee.db) и запустите следующий запрос:

delete from coretracks where TrackID in ( select trackid from ( select TrackID as trackid, count(TrackID) as c from coretracks group by TitleLowered,ArtistID,AlbumID,Title ) where c > 1 );

PS Используйте команду sqlite3 для открытия базы данных и а не просто «sqlite».

PPS Мне пришлось запускать запрос несколько раз, каждый запуск удаляет только один дубликат. Это происходит потому, что внутренний выбор только возвращает вам идентификатор одного избыточного трека для каждой композиции Title / Artist / Album.

7
ответ дан 2 August 2018 в 04:04

Найдите базу данных sqlite3 (~ / .config / banshee-1 / banshee.db) и выполните следующий запрос:

  удалить из кортежей, в которых включен TrackID (выберите trackid from (выберите TrackID  как trackid, count (TrackID) как c из группы корешек по TitleLowered, ArtistID, AlbumID, Title), где c & gt; 1);   

PS Используйте команду «sqlite3», чтобы открыть базу данных, а не только «sqlite».

PPS Мне пришлось запускать запрос несколько раз, каждый запуск только удаляет один дополнительный дубликат. Это происходит потому, что внутренний выбор только возвращает вам идентификатор одного избыточного трека для каждой композиции Title / Artist / Album.

7
ответ дан 4 August 2018 в 20:07

Найдите базу данных sqlite3 (~ / .config / banshee-1 / banshee.db) и выполните следующий запрос:

  удалить из кортежей, в которых включен TrackID (выберите trackid from (выберите TrackID  как trackid, count (TrackID) как c из группы корешек по TitleLowered, ArtistID, AlbumID, Title), где c & gt; 1);   

PS Используйте команду «sqlite3», чтобы открыть базу данных, а не только «sqlite».

PPS Мне пришлось запускать запрос несколько раз, каждый запуск только удаляет один дополнительный дубликат. Это происходит потому, что внутренний выбор только возвращает вам идентификатор одного избыточного трека для каждой композиции Title / Artist / Album.

7
ответ дан 6 August 2018 в 04:09

Найдите базу данных sqlite3 (~ / .config / banshee-1 / banshee.db) и выполните следующий запрос:

  удалить из кортежей, в которых включен TrackID (выберите trackid from (выберите TrackID  как trackid, count (TrackID) как c из группы корешек по TitleLowered, ArtistID, AlbumID, Title), где c & gt; 1);   

PS Используйте команду «sqlite3», чтобы открыть базу данных, а не только «sqlite».

PPS Мне пришлось запускать запрос несколько раз, каждый запуск только удаляет один дополнительный дубликат. Это происходит потому, что внутренний выбор только возвращает вам идентификатор одного избыточного трека для каждой композиции Title / Artist / Album.

7
ответ дан 7 August 2018 в 22:08

Найдите базу данных sqlite3 (~ / .config / banshee-1 / banshee.db) и выполните следующий запрос:

  удалить из кортежей, в которых включен TrackID (выберите trackid from (выберите TrackID  как trackid, count (TrackID) как c из группы корешек по TitleLowered, ArtistID, AlbumID, Title), где c & gt; 1);   

PS Используйте команду «sqlite3», чтобы открыть базу данных, а не только «sqlite».

PPS Мне пришлось запускать запрос несколько раз, каждый запуск только удаляет один дополнительный дубликат. Это происходит потому, что внутренний выбор только возвращает вам идентификатор одного избыточного трека для каждой композиции Title / Artist / Album.

7
ответ дан 10 August 2018 в 10:22

Найдите базу данных sqlite3 (~ / .config / banshee-1 / banshee.db) и выполните следующий запрос:

  удалить из кортежей, в которых включен TrackID (выберите trackid from (выберите TrackID  как trackid, count (TrackID) как c из группы корешек по TitleLowered, ArtistID, AlbumID, Title), где c & gt; 1);   

PS Используйте команду «sqlite3», чтобы открыть базу данных, а не только «sqlite».

PPS Мне пришлось запускать запрос несколько раз, каждый запуск только удаляет один дополнительный дубликат. Это происходит потому, что внутренний выбор только возвращает вам идентификатор одного избыточного трека для каждой композиции Title / Artist / Album.

7
ответ дан 13 August 2018 в 16:47
  • 1
    У меня не было впечатления, что этот вопрос конкретно касался этой ошибки. Вы можете получить дубликаты треков в своей библиотеке, даже если вы никогда не сталкиваетесь с ошибкой импорта / повторного сканирования, и я не уверен в возможности автоматически удалить их сейчас, когда эта опция больше не доступна в расширении Mirage. – Michael Martin-Smucker 28 January 2011 в 22:00

Известна ошибка , которая была исправлена ​​в более новых версиях Banshee.

Вы можете использовать последнюю версию Banshee из Banshee PPA :

  sudo add-apt-repository ppa: banshee-team / ppa sudo apt-get update & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp;  sudo apt-get upgrade  

Как я могу подписаться на ошибку?

7
ответ дан 15 August 2018 в 23:29
  • 1
    У меня не было впечатления, что этот вопрос конкретно касался этой ошибки. Вы можете получить дубликаты треков в своей библиотеке, даже если вы никогда не сталкиваетесь с ошибкой импорта / повторного сканирования, и я не уверен в возможности автоматически удалить их сейчас, когда эта опция больше не доступна в расширении Mirage. – Michael Martin-Smucker 28 January 2011 в 22:00

Найдите базу данных sqlite3 (~ / .config / banshee-1 / banshee.db) и запустите следующий запрос:

delete from coretracks where TrackID in
(
  select trackid from 
     (
      select TrackID as trackid, count(TrackID) as c from coretracks 
      group by TitleLowered,ArtistID,AlbumID,Title
     )
  where c > 1
);

PS Используйте команду sqlite3 для открытия базы данных и а не просто «sqlite».

PPS Мне пришлось запускать запрос несколько раз, каждый запуск удаляет только один дубликат. Это происходит потому, что внутренний выбор только возвращает вам идентификатор одного избыточного трека для каждой композиции Title / Artist / Album.

3
ответ дан 25 May 2018 в 23:30

Этот ответ использует python для доступа к базе данных banshee, а затем выполняет действие sql, которое списки donbicca перечисляют с помощью твиста. Вместо того, чтобы многократно запускать код sql, я попросил python закодировать код sql по количеству экземпляров, которые существуют в SQL-коде. Вам нужно всего лишь запустить этот код один раз. Вам нужно заменить свой домашний путь (замените «/ home / JONDOE» на ваш домашний путь).

#!/usr/bin/env python

import sqlite3

#open database to determine number of rows to loop over

db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db')
cursor = db.cursor()

a = cursor.execute('SELECT TrackID from coretracks group by TitleLowered,ArtistID,AlbumID,Title')
a_trackid = a.fetchall()
db.close()

#Close database to ensure results do not impact future results. Then reopen database

db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db')
cursor = db.cursor()
sql = ('DELETE from coretracks where TrackID in (SELECT TrackID from (SELECT TrackID as trackid, count(TrackID) as g from coretracks group by TitleLowered,ArtistID,AlbumID,Title) where g > 1)')

for i in a_trackid:
    cursor.execute(sql)

db.commit()
db.close()
2
ответ дан 25 May 2018 в 23:30

Другая альтернатива для удаления песни duplicqtes из базы данных sqlite из banshee:

cd /home/youruser/.config/banshee-1/

Закрыть Banshee FIRST! Резервное копирование вашей базы данных:

cp banshee.db banshee.db.bck

Если у вас нет установленного sqlite:

sudo apt-get install sqlite3

Открыть DB:

sqlite3 banshee.db

Введите этот запрос :

DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN(TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID,AlbumID,Title);

exit:

.q

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 25 May 2018 в 23:30
  • 1
    У меня была схожая проблема, и это идеально для меня. Благодарю. – Narameh 17 October 2016 в 12:08

Этот ответ использует python для доступа к базе данных banshee, а затем выполняет действие sql, которое списки donbicca перечисляют с помощью твиста. Вместо того, чтобы многократно запускать код sql, я попросил python закодировать код sql по количеству экземпляров, которые существуют в SQL-коде. Вам нужно всего лишь запустить этот код один раз. Вам нужно заменить свой домашний путь (замените «/ home / JONDOE» на ваш домашний путь).

#!/usr/bin/env python import sqlite3 #open database to determine number of rows to loop over db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db') cursor = db.cursor() a = cursor.execute('SELECT TrackID from coretracks group by TitleLowered,ArtistID,AlbumID,Title') a_trackid = a.fetchall() db.close() #Close database to ensure results do not impact future results. Then reopen database db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db') cursor = db.cursor() sql = ('DELETE from coretracks where TrackID in (SELECT TrackID from (SELECT TrackID as trackid, count(TrackID) as g from coretracks group by TitleLowered,ArtistID,AlbumID,Title) where g > 1)') for i in a_trackid: cursor.execute(sql) db.commit() db.close()
2
ответ дан 25 July 2018 в 22:37

найти базы данных sqlite3 (~/.конфиг/банши-1/баньши.дБ) и выполните следующий запрос:

delete from coretracks where TrackID in ( select trackid from ( select TrackID as trackid, count(TrackID) as c from coretracks group by TitleLowered,ArtistID,AlbumID,Title ) where c > 1 );

НПС используйте команду "и sqlite3" для открытия базы данных, а не просто "на SQLite".

P. P. S. мне пришлось выполнить запрос несколько раз, каждый запуск удаляет только один дополнительный дубликат. Это происходит потому, что внутренняя выберите только дает вам идентификатор одного избыточного трек для каждого Название/Исполнитель/Альбом комбинации.

3
ответ дан 25 July 2018 в 22:37
  • 1
    У меня не было впечатления, что этот вопрос конкретно касался этой ошибки. Вы можете получить дубликаты треков в своей библиотеке, даже если вы никогда не сталкиваетесь с ошибкой импорта / повторного сканирования, и я не уверен в возможности автоматически удалить их сейчас, когда эта опция больше не доступна в расширении Mirage. – Michael Martin-Smucker 28 January 2011 в 22:00

Другая альтернатива для удаления песни duplicqtes из базы данных sqlite из banshee:

cd /home/youruser/.config/banshee-1/

Закрыть Banshee FIRST! Резервное копирование вашей базы данных:

cp banshee.db banshee.db.bck

Если у вас нет установленного sqlite:

sudo apt-get install sqlite3

Открыть DB:

sqlite3 banshee.db

Введите этот запрос :

DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN(TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID,AlbumID,Title);

exit:

.q

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 25 July 2018 в 22:37
  • 1
    У меня была похожая проблема и это фиксированная это для меня. Спасибо. – Narameh 17 October 2016 в 12:08

Этот ответ использует python для доступа к базе данных banshee, а затем выполняет действие sql, которое списки donbicca перечисляют с помощью твиста. Вместо того, чтобы многократно запускать код sql, я попросил python закодировать код sql по количеству экземпляров, которые существуют в SQL-коде. Вам нужно всего лишь запустить этот код один раз. Вам нужно заменить свой домашний путь (замените «/ home / JONDOE» на ваш домашний путь).

#!/usr/bin/env python import sqlite3 #open database to determine number of rows to loop over db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db') cursor = db.cursor() a = cursor.execute('SELECT TrackID from coretracks group by TitleLowered,ArtistID,AlbumID,Title') a_trackid = a.fetchall() db.close() #Close database to ensure results do not impact future results. Then reopen database db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db') cursor = db.cursor() sql = ('DELETE from coretracks where TrackID in (SELECT TrackID from (SELECT TrackID as trackid, count(TrackID) as g from coretracks group by TitleLowered,ArtistID,AlbumID,Title) where g > 1)') for i in a_trackid: cursor.execute(sql) db.commit() db.close()
2
ответ дан 26 July 2018 в 23:10

другой альтернативы, чтобы удалить песню duplicqtes из базы данных SQLite банши:

cd /home/youruser/.config/banshee-1/

закрыть Банши первым! Резервное копирование БД:

cp banshee.db banshee.db.bck

в случае, если Вы не есть SQLite установлено:

sudo apt-get install sqlite3

Откройте БД:

sqlite3 banshee.db

введите этот запрос:

DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN(TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID,AlbumID,Title);

выход:

.q

вы закончите, откройте Банши и проверить результат.

2
ответ дан 26 July 2018 в 23:10
  • 1
    У меня была похожая проблема и это фиксированная это для меня. Спасибо. – Narameh 17 October 2016 в 12:08

этот ответ использует Python для доступа к базе данных баньши, а затем выполнить действие в SQL, который donbicca списки с изюминкой. Вместо того, чтобы выполнить SQL-код много раз, я попросил Python для петли SQL-код по количество экземпляров, которые существуют в SQL-код. Вам нужно только запустить этот код. Вы должны заменить ваш домашний каталог (заменить "/главная/JONDOE" с вашей бытовой путь).

#!/usr/bin/env python import sqlite3 #open database to determine number of rows to loop over db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db') cursor = db.cursor() a = cursor.execute('SELECT TrackID from coretracks group by TitleLowered,ArtistID,AlbumID,Title') a_trackid = a.fetchall() db.close() #Close database to ensure results do not impact future results. Then reopen database db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db') cursor = db.cursor() sql = ('DELETE from coretracks where TrackID in (SELECT TrackID from (SELECT TrackID as trackid, count(TrackID) as g from coretracks group by TitleLowered,ArtistID,AlbumID,Title) where g > 1)') for i in a_trackid: cursor.execute(sql) db.commit() db.close()
2
ответ дан 31 July 2018 в 10:36

Другая альтернатива для удаления песни duplicqtes из базы данных sqlite из banshee:

cd /home/youruser/.config/banshee-1/

Закрыть Banshee FIRST! Резервное копирование вашей базы данных:

cp banshee.db banshee.db.bck

Если у вас нет установленного sqlite:

sudo apt-get install sqlite3

Открыть DB:

sqlite3 banshee.db

Введите этот запрос :

DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN(TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID,AlbumID,Title);

exit:

.q

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 31 July 2018 в 10:36
  • 1
    У меня была схожая проблема, и это идеально для меня. Благодарю. – Narameh 17 October 2016 в 12:08

этот ответ использует Python для доступа к базе данных баньши, а затем выполнить действие в SQL, который donbicca списки с изюминкой. Вместо того, чтобы выполнить SQL-код много раз, я попросил Python для петли SQL-код по количество экземпляров, которые существуют в SQL-код. Вам нужно только запустить этот код. Вы должны заменить ваш домашний каталог (заменить "/главная/JONDOE" с вашей бытовой путь).

#!/usr/bin/env python import sqlite3 #open database to determine number of rows to loop over db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db') cursor = db.cursor() a = cursor.execute('SELECT TrackID from coretracks group by TitleLowered,ArtistID,AlbumID,Title') a_trackid = a.fetchall() db.close() #Close database to ensure results do not impact future results. Then reopen database db = sqlite3.connect('/home/me/.config/banshee-1/banshee.db') cursor = db.cursor() sql = ('DELETE from coretracks where TrackID in (SELECT TrackID from (SELECT TrackID as trackid, count(TrackID) as g from coretracks group by TitleLowered,ArtistID,AlbumID,Title) where g > 1)') for i in a_trackid: cursor.execute(sql) db.commit() db.close()
2
ответ дан 2 August 2018 в 04:04

Другая альтернатива для удаления песни duplicqtes из базы данных sqlite из banshee:

cd /home/youruser/.config/banshee-1/

Закрыть Banshee FIRST! Резервное копирование вашей базы данных:

cp banshee.db banshee.db.bck

Если у вас нет установленного sqlite:

sudo apt-get install sqlite3

Открыть DB:

sqlite3 banshee.db

Введите этот запрос :

DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN(TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID,AlbumID,Title);

exit:

.q

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 2 August 2018 в 04:04
  • 1
    У меня была схожая проблема, и это идеально для меня. Благодарю. – Narameh 17 October 2016 в 12:08

Другая альтернатива для удаления песни duplicqtes из базы данных banshee sqlite:

  cd /home/youruser/.config/banshee-1/  

Закрыть Banshee ПЕРВЫЙ! Резервное копирование вашей базы данных:

  cp banshee.db banshee.db.bck  

Если у вас нет установленного sqlite:

  sudo apt-get install sqlite3  

Открыть DB:

  sqlite3 banshee.db  

Тип этот запрос:

  DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN (TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID, AlbumID, Title);   

exit:

  .q  

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 4 August 2018 в 20:07

В этом ответе используется python для доступа к базе данных banshee, а затем выполните действие sql, которое списки donbicca перечисляют с помощью твиста. Вместо того, чтобы многократно запускать код sql, я попросил python закодировать код sql по количеству экземпляров, которые существуют в SQL-коде. Вам нужно всего лишь запустить этот код один раз. Вы должны заменить свой домашний путь (замените «home / JONDOE» на ваш домашний путь).

  #! / Usr / bin / env python import sqlite3 # открыть базу данных для определения количества строк  to loop over db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () a = cursor.execute ('SELECT TrackID из группы корреляторов по TitleLowered, ArtistID  , AlbumID, Title ') a_trackid = a.fetchall () db.close () # Закрывать базу данных, чтобы гарантировать, что результаты не влияют на будущие результаты.  Затем повторно запустите базу данных db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () sql = ('УДАЛИТЬ из кортетов, в которых TrackID в (SELECT TrackID from (SELECT  TrackID как trackid, count (TrackID) как g из группы корреляций TitleLowered, ArtistID, AlbumID, Title), где g & gt; 1) ') для i в a_trackid: cursor.execute (sql) db.commit () db.close (  )  
2
ответ дан 4 August 2018 в 20:07

Другая альтернатива для удаления песни duplicqtes из базы данных banshee sqlite:

  cd /home/youruser/.config/banshee-1/  

Закрыть Banshee ПЕРВЫЙ! Резервное копирование вашей базы данных:

  cp banshee.db banshee.db.bck  

Если у вас нет установленного sqlite:

  sudo apt-get install sqlite3  

Открыть DB:

  sqlite3 banshee.db  

Тип этот запрос:

  DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN (TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID, AlbumID, Title);   

exit:

  .q  

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 6 August 2018 в 04:09

В этом ответе используется python для доступа к базе данных banshee, а затем выполните действие sql, которое списки donbicca перечисляют с помощью твиста. Вместо того, чтобы многократно запускать код sql, я попросил python закодировать код sql по количеству экземпляров, которые существуют в SQL-коде. Вам нужно всего лишь запустить этот код один раз. Вы должны заменить свой домашний путь (замените «home / JONDOE» на ваш домашний путь).

  #! / Usr / bin / env python import sqlite3 # открыть базу данных для определения количества строк  to loop over db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () a = cursor.execute ('SELECT TrackID из группы корреляторов по TitleLowered, ArtistID  , AlbumID, Title ') a_trackid = a.fetchall () db.close () # Закрывать базу данных, чтобы гарантировать, что результаты не влияют на будущие результаты.  Затем повторно запустите базу данных db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () sql = ('УДАЛИТЬ из кортетов, в которых TrackID в (SELECT TrackID from (SELECT  TrackID как trackid, count (TrackID) как g из группы корреляций TitleLowered, ArtistID, AlbumID, Title), где g & gt; 1) ') для i в a_trackid: cursor.execute (sql) db.commit () db.close (  )  
2
ответ дан 6 August 2018 в 04:09

Другая альтернатива для удаления песни duplicqtes из базы данных banshee sqlite:

  cd /home/youruser/.config/banshee-1/  

Закрыть Banshee ПЕРВЫЙ! Резервное копирование вашей базы данных:

  cp banshee.db banshee.db.bck  

Если у вас нет установленного sqlite:

  sudo apt-get install sqlite3  

Открыть DB:

  sqlite3 banshee.db  

Тип этот запрос:

  DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN (TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID, AlbumID, Title);   

exit:

  .q  

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 7 August 2018 в 22:08

В этом ответе используется python для доступа к базе данных banshee, а затем выполните действие sql, которое списки donbicca перечисляют с помощью твиста. Вместо того, чтобы многократно запускать код sql, я попросил python закодировать код sql по количеству экземпляров, которые существуют в SQL-коде. Вам нужно всего лишь запустить этот код один раз. Вы должны заменить свой домашний путь (замените «home / JONDOE» на ваш домашний путь).

  #! / Usr / bin / env python import sqlite3 # открыть базу данных для определения количества строк  to loop over db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () a = cursor.execute ('SELECT TrackID из группы корреляторов по TitleLowered, ArtistID  , AlbumID, Title ') a_trackid = a.fetchall () db.close () # Закрывать базу данных, чтобы гарантировать, что результаты не влияют на будущие результаты.  Затем повторно запустите базу данных db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () sql = ('УДАЛИТЬ из кортетов, в которых TrackID в (SELECT TrackID from (SELECT  TrackID как trackid, count (TrackID) как g из группы корреляций TitleLowered, ArtistID, AlbumID, Title), где g & gt; 1) ') для i в a_trackid: cursor.execute (sql) db.commit () db.close (  )  
2
ответ дан 7 August 2018 в 22:08

Другая альтернатива для удаления песни duplicqtes из базы данных banshee sqlite:

  cd /home/youruser/.config/banshee-1/  

Закрыть Banshee ПЕРВЫЙ! Резервное копирование вашей базы данных:

  cp banshee.db banshee.db.bck  

Если у вас нет установленного sqlite:

  sudo apt-get install sqlite3  

Открыть DB:

  sqlite3 banshee.db  

Тип этот запрос:

  DELETE FROM coretracks WHERE TrackID NOT IN (SELECT MIN (TrackID) FROM coretracks GROUP BY TitleLowered, ArtistID, AlbumID, Title);   

exit:

  .q  

Вы закончили, откройте Banshee и проверьте результат.

2
ответ дан 10 August 2018 в 10:22

В этом ответе используется python для доступа к базе данных banshee, а затем выполните действие sql, которое списки donbicca перечисляют с помощью твиста. Вместо того, чтобы многократно запускать код sql, я попросил python закодировать код sql по количеству экземпляров, которые существуют в SQL-коде. Вам нужно всего лишь запустить этот код один раз. Вы должны заменить свой домашний путь (замените «home / JONDOE» на ваш домашний путь).

  #! / Usr / bin / env python import sqlite3 # открыть базу данных для определения количества строк  to loop over db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () a = cursor.execute ('SELECT TrackID из группы корреляторов по TitleLowered, ArtistID  , AlbumID, Title ') a_trackid = a.fetchall () db.close () # Закрывать базу данных, чтобы гарантировать, что результаты не влияют на будущие результаты.  Затем повторно запустите базу данных db = sqlite3.connect ('/ home / me / .config / banshee-1 / banshee.db') cursor = db.cursor () sql = ('УДАЛИТЬ из кортетов, в которых TrackID в (SELECT TrackID from (SELECT  TrackID как trackid, count (TrackID) как g из группы корреляций TitleLowered, ArtistID, AlbumID, Title), где g & gt; 1) ') для i в a_trackid: cursor.execute (sql) db.commit () db.close (  )  
2
ответ дан 10 August 2018 в 10:22

Другие вопросы по тегам:

Похожие вопросы: