Sqliteを使用して既存のテーブルに自動インクリメントID列を追加します

Basj

Sqliteを使用して、以前はIDがなかった既存のテーブルに自動インクリメントID列を追加したいと思います。

import sqlite3
db = sqlite3.connect(':memory:')
c = db.cursor()

c.execute('create table events (int weight, text str)')
c.execute('insert into events values(?, ?)', (1371, 'Test1'))
c.execute('insert into events values(?, ?)', (223, 'Test2'))
c.execute('select * from events'); print c.fetchall()
# [(1371, u'Test1'), (223, u'Test2')]

# add an autoincrementing ID to existing table
c.execute('alter table events add id int not null auto_increment primary key')

それを正しく行う方法は?このエラーがあります:

sqlite3.OperationalError:「auto_increment」の近く:構文エラー

スペード

SQLiteテーブルは、一度作成されると、altertableを使用して大幅に変更することはできません。一般的な一般的な提案の1つは、既存のフィールドと追加の必須フィールドを使用して新しいテーブルを作成し、データを新しいテーブルにコピー/インポートし、オプションで古いテーブルを削除することです。

c.execute('create table events_copy(id integer primary key autoincrement, weight integer,str text)')
c.execute('insert into events_copy(weight, str) select weight, str from events')
c.execute('drop table events')
c.execute('alter table events_copy rename to events')
c.commit()

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

新しい自動インクリメント列を既存のテーブルに追加します

分類Dev

SQL Serverは、既存のテーブルに自動インクリメントの主キーを追加します

分類Dev

日付順に並べられた既存のテーブルに自動インクリメント列を追加します

分類Dev

自動インクリメントの主キーを既存のテーブルに挿入します

分類Dev

自動インクリメントの主キーを使用してテーブルに挿入します

分類Dev

UNIONALLを使用して異なるテーブルからのIDの自動インクリメント列を追加する

分類Dev

PHPを使用してmysqlテーブルから自動インクリメントIDを取得します

分類Dev

自動インクリメントIDを含むlinqクエリを使用してテーブルにレコードを挿入します

分類Dev

Oracleの既存のテーブルに自動インクリメントを追加する方法

分類Dev

学生テーブルPhpmyadminの自動インクリメントIDフィールドにプレフィックス「s_」を追加します

分類Dev

自動インクリメントIDを使用して、別のテーブルから既存のテーブルにデータを挿入するにはどうすればよいですか?

分類Dev

.csvファイルをPostgreSQLにインポートし、最初の列に自動インクリメントIDを追加します

分類Dev

自動インクリメントなしのインクリメント列を持つテーブルに行を挿入します

分類Dev

最初のテーブルの自動インクリメントIDを別のテーブルの外部IDとして同時に取得するには

分類Dev

主キーの自動インクリメントを使用してSQLにデータテーブルを追加するC#

分類Dev

既存のフィールド値に基づいて自動インクリメントする新しい列を追加する

分類Dev

SQLite自動インクリメントである1つの列を持つテーブルに挿入します

分類Dev

新しい「子」挿入でテーブルのIDを自動インクリメントします

分類Dev

Pythonを使用してテーブル列を自動インクリメントする

分類Dev

Hibernateで自動インクリメントを使用して既存のエントリを更新します

分類Dev

テーブルの作成後にmysqlのフィールドを自動インクリメントします

分類Dev

トリガーを使用して非主キー列に自動インクリメントを追加する方法

分類Dev

手動で自動インクリメント ID を使用して SQL レコードを同じテーブルに複製する

分類Dev

Gradleの追加プロパティを使用してVersionCodeを自動インクリメントします

分類Dev

データを含むテーブルに自動インクリメンタルID列を追加する方法

分類Dev

Mysqlはエラーを与える自動インクリメントIDでテーブルを作成します

分類Dev

1000から始まり1ずつインクリメントするmysqlの既存のテーブルに自動インクリメント列を追加する方法

分類Dev

AndroidのSqliteデータベースの列に自動インクリメントを設定します

分類Dev

MySQL:自動インクリメント列を使用してテーブルに挿入した後の予期しないSELECT結果

Related 関連記事

  1. 1

    新しい自動インクリメント列を既存のテーブルに追加します

  2. 2

    SQL Serverは、既存のテーブルに自動インクリメントの主キーを追加します

  3. 3

    日付順に並べられた既存のテーブルに自動インクリメント列を追加します

  4. 4

    自動インクリメントの主キーを既存のテーブルに挿入します

  5. 5

    自動インクリメントの主キーを使用してテーブルに挿入します

  6. 6

    UNIONALLを使用して異なるテーブルからのIDの自動インクリメント列を追加する

  7. 7

    PHPを使用してmysqlテーブルから自動インクリメントIDを取得します

  8. 8

    自動インクリメントIDを含むlinqクエリを使用してテーブルにレコードを挿入します

  9. 9

    Oracleの既存のテーブルに自動インクリメントを追加する方法

  10. 10

    学生テーブルPhpmyadminの自動インクリメントIDフィールドにプレフィックス「s_」を追加します

  11. 11

    自動インクリメントIDを使用して、別のテーブルから既存のテーブルにデータを挿入するにはどうすればよいですか?

  12. 12

    .csvファイルをPostgreSQLにインポートし、最初の列に自動インクリメントIDを追加します

  13. 13

    自動インクリメントなしのインクリメント列を持つテーブルに行を挿入します

  14. 14

    最初のテーブルの自動インクリメントIDを別のテーブルの外部IDとして同時に取得するには

  15. 15

    主キーの自動インクリメントを使用してSQLにデータテーブルを追加するC#

  16. 16

    既存のフィールド値に基づいて自動インクリメントする新しい列を追加する

  17. 17

    SQLite自動インクリメントである1つの列を持つテーブルに挿入します

  18. 18

    新しい「子」挿入でテーブルのIDを自動インクリメントします

  19. 19

    Pythonを使用してテーブル列を自動インクリメントする

  20. 20

    Hibernateで自動インクリメントを使用して既存のエントリを更新します

  21. 21

    テーブルの作成後にmysqlのフィールドを自動インクリメントします

  22. 22

    トリガーを使用して非主キー列に自動インクリメントを追加する方法

  23. 23

    手動で自動インクリメント ID を使用して SQL レコードを同じテーブルに複製する

  24. 24

    Gradleの追加プロパティを使用してVersionCodeを自動インクリメントします

  25. 25

    データを含むテーブルに自動インクリメンタルID列を追加する方法

  26. 26

    Mysqlはエラーを与える自動インクリメントIDでテーブルを作成します

  27. 27

    1000から始まり1ずつインクリメントするmysqlの既存のテーブルに自動インクリメント列を追加する方法

  28. 28

    AndroidのSqliteデータベースの列に自動インクリメントを設定します

  29. 29

    MySQL:自動インクリメント列を使用してテーブルに挿入した後の予期しないSELECT結果

ホットタグ

アーカイブ