そのため、新しい制約を使用して作成したテーブルが1つあり、データを古いテーブルから新しいテーブルに移動しようとしましたが、機能していません。エラーなどは発生しません。
私は古いテーブルを作成しました:
CREATE TABLE Elements (
_id INTEGER PRIMARY KEY,
Element TEXT,
Symbol TEXT,
MW TEXT)
次で作成された新しいテーブル:
CREATE TABLE "Element" (
"_id" INTEGER PRIMARY KEY AUTOINCREMENT,
"ElementName" TEXT,
"Symbol" TEXT,
"MW" REAL,
UNIQUE("ElementName") ON CONFLICT ABORT,
UNIQUE("Symbol") ON CONFLICT ABORT)
これらはデータを移動するためのステートメントですが、それらはすべて何も挿入しませんでした:
INSERT INTO "Element" ("ElementName","Symbol","MW")
SELECT "Element", "Symbol","MW"
FROM "Elements"
INSERT INTO "Element"
SELECT * FROM "Elements"
INSERT INTO Element (ElementName,Symbol,MW)
SELECT Element,Symbol,CAST(MW AS REAL) FROM Elements
INSERT INTO Element (_id,ElementName,Symbol,MW)
SELECT NULL,Element,Symbol,MW
FROM Elements
私はそれを把握することはできません。データを移動するための挿入ステートメントの何が問題なのか教えてください。最大の変更点は、テーブルの制約です。