sql >> データベース >  >> RDS >> Mysql

ms-accessは削除できませんでした

    Access内から、リンクされたテーブルtblUsersSubjectsをデータシートビューで開き、データシートビューで編集または削除できますか?そうでない場合、AccessはMySqlテーブルへの接続を読み取り専用として扱っている可能性があります。リンクを削除してみてください(Accessで、MySqlの実際のテーブルではありません)。次に、Accessでテーブルを再リンクし、主キーとして使用するフィールド(またはフィールドの組み合わせ)をAccessに指示してください。 Accessがリンクされたテーブルの主キーを認識しない場合、リンクは読み取り専用になります。

    アレックスとオフラインで話し合った後、この回答に追加したいと思います:

    Accessは元々、主キーとして何を使用するかを認識していなかったため、リンクされたテーブルはAccess側から読み取り専用でした。これは、CREATETABLEステートメントに主キー制約が含まれていなかったためだと思います。しかし、実際には、Accessが自動的にどのようにアクセスするかについての詳細はわかりません。 外部テーブルにリンクするときに主キーを識別します。おそらく、明示的に定義されたプライマリキーがない場合、NotNullおよびUniqueconstraintsを持つフィールドを探す可能性があります。ただし、CREATE TABLEステートメントには、MySqltableに対する一意の制約も含まれていませんでした。

    したがって、Accessが外部テーブルの主キーを自動的に推測できない場合は、主キーとして使用するフィールドを指定する必要があります...ただし リンクされたテーブルをAccessから読み取り専用にする必要があります。



    1. 日常的なコンテンツバックアップの推奨事項

    2. MYSQLで文字列を連結する

    3. SQL Serverで外部キー制約を有効にする方法(T-SQLの例)

    4. OLE DBソースコンポーネントのストアドプロシージャパラメータに値を渡すにはどうすればよいですか?