Micrsoft SQL サーバーから削除クエリを実行して、リモートの mySQL テーブルのテーブルをクリアしようとしています。
クエリは次のとおりです。
delete from OPENQUERY(WEB_DB,'select id,university_name,college_name from table_name');
これはエラーを返しています:
リンク サーバー "WEB_DB" の OLE DB プロバイダー "MSDASQL" から、"キー列情報が不十分であるか正しくありません。更新の影響を受けた行が多すぎます。" が返されました。メッセージ 7345、レベル 16、状態 1、行 1 リンク サーバー "WEB_DB" の OLE DB プロバイダー "MSDASQL" は、テーブル "select id,university_name,college_name from table_name" から削除できませんでした。更新はスキーマ要件を満たしていませんでした。
テーブルの作成に使用する SQL は次のとおりです。
CREATE TABLE IF NOT EXISTS `table_name` (
`pk` int(11) AUTO_INCREMENT,
`studentid` int(11) default NULL,
`university_name` varchar(255) default NULL,
`college_name` varchar(255) default NULL,
CONSTRAINT PRIMARY KEY(`pk`)
);
興味深いことに、リモート データベース レコードの一部を削除しているように見えます。約 900 あるはずですが、delete コマンドを初めて実行すると、これが約 700 に減少するため、制限は約 200 行になるようです?!
どんな助けでも大歓迎です。
ありがとうジョナ