私は 'ScreenId'と 'ActivityItemId'を使用して複合プライマリキーを持つtable1というテーブルを持っています。私はNOT NULL制約を持つ新しいフィールド 'ProductId'を追加しました。 ProductIdを複合主キーに追加したいと思います。SQL(アクセス) - コンポジットプライマリキーに新しいフィールドを追加
私は
これは
db.execute "ALTER TABLE TABLE1 PRIMARY KEY(ScreenId、ActivityItemId、のProductId)" を働くだろうと思ったが、私はエラーを取得し、私が作成するときに、この構文は唯一うまくいくと思います表。
誰でもSQLを手伝ってくれますか? (私は実際にSQLを実行するために、ルビー・インターフェースを使用しています、ここところでVisual Basicのソリューションを使用することはできませんので、それだけでSQLにする必要があります)
おかげ
ありがとうHawx - しかし私はこのエラーを受け取ります Microsoft JETデータベースエンジンのOLEエラーコード:80004005 CHECK制約 '主キー'が存在しません。 私はこれを実行していました - これは正しい構文ではないかもしれませんか? "ALTER TABLE table1 DROP CONSTRAINT [PrimaryKey]" –
[Primary Key]の代わりにプライマリキー名を使用してください。 –
ああ、私は 私は怖いまだ運N \「ここにあなたの変数を挿入」のように角括弧を参照してください - 私はこれを実行しています: ALTER TABLE活動DROP CONSTRAINT ScreenId と私は戻って このエラーが発生します。 CHECK制約 'ScreenId'が存在しません。 ScreenIdは間違いなくこのテーブルの主キーフィールドの1つです。 これはアクセスDBです - アクセスに多分異なる構文が必要ですか? ありがとう - 最大 –