SQLite
データベース内の既存の列に制約を追加したいと考えていました。しかし、そうすることができないと読みました。SQLite データベース テーブルの列の名前を変更するにはどうすればよいですか?の解決策を試しました。、しかし、すべてのメタデータのコピーが欠落しているようです。
新しい制約を除いて、特定のテーブルの正確なコピーがほとんど必要です。
コマンドはどのようにすべてのメタデータをコピーするように見えますか?INSERT
たとえば、インデックスは正しく増加します。
SQLite
データベース内の既存の列に制約を追加したいと考えていました。しかし、そうすることができないと読みました。SQLite データベース テーブルの列の名前を変更するにはどうすればよいですか?の解決策を試しました。、しかし、すべてのメタデータのコピーが欠落しているようです。
新しい制約を除いて、特定のテーブルの正確なコピーがほとんど必要です。
コマンドはどのようにすべてのメタデータをコピーするように見えますか?INSERT
たとえば、インデックスは正しく増加します。
私は sqlite3 のヘビー ユーザーではありませんが、コマンド ラインを使用してデータを取得し、「テーブルの作成」および「インデックスの作成」コマンドを使用できます。「訪問」と呼ばれるテーブルを持つ Google chrome ブラウザーの「履歴」DB を使用しています。「mode insert」コマンドは、このデータの入力に使用できる形式で出力を提供するように指示します。「.schema visits」コマンドは、「create table」および「create index」ステートメントを表示するように指示します。「select..」ステートメントはデータを提供します。私が使用したデータベースには外部キー制約がないように見えますが、DB に外部キー制約がある場合は、「テーブルの作成」情報の一部である可能性が非常に高くなります。
sqlite3 History
.mode insert
.schema visits
select * from visits;