ホーム › フォーラム › A5:SQL Mk-2掲示板 › 主キーが作れるはずなのに作れない
-
投稿者投稿
-
satorukibiゲスト
すいません。sakaさんの投稿と似ていたので、そちらに投稿してしまいました。あらためて登校し直します。
いつもA5には大変お世話になっています。
現在Version2.18.0を使っています。2.19にバージョンアップしたつもりですが、バージョン情報を見ると2.18になっています。マイクロソフトのサイトに行くと2.19が入っていると出て更新できないので、たぶん本体は2.19に更新されていてバージョン情報の表示のほうが更新してないのかな、と覆います。postgresqlでのテーブル作成に大変便利に使っています。ところが最近、たくさんファイルを開いた状態で実行しようとすると、「主キーが作れませんでした」のエラーが頻繁に起こります。何回か実行ボタンを押すと実行されることもあります。ファイルを閉じて、プログラムを開き直せばできることが多いです。以前はファイルが小さかったこともあり、このようなことはあまり起こりませんでした。
これは仕方ないのでしょうか? インストールのし直し等を試みるべきでしょうか? あるいはソフトの不具合? ご確認よろしくお願い致します。
satorukibiゲストもしかすると、cursorを同時に立ち上げていることが多いので、そっちにメモリを食われているのかもしれない、と思います。あっちは相当メモリを食いますし、データベースも同様だと思いますので。
松原正和キーマスターsatorukibi さんこんにちは。
ちょっと不思議ですね。メイン画面のタイトルバーに表示されるバージョン番号・バージョンダイアログのバージョン番号は単一のソースから実行時に取得されるので誤りはないはずなのですが…。
「主キーが作れませんでした」のエラーも不思議で、これはSQLの実行エラーでしょうか?A5:SQL Mk-2 のエラー文言ではないのですが、PostgreSQL のエラーメッセージっぽくもないように思えます…。別の何か文言などで表示されないでしょうか?
ちょっとバージョンのことも気になりますので、一度 A5:SQL Mk-2 をアンインストールしてから再インストールすると何か変わるかもしれないと思います。satorukibiゲスト返信ありがとうございます。マイクロソフトのページからバージョンアップする方法がわかりませんでした。なので220にバージョンアップしました。それとウインドウズの設定のところから「修復」してみました。データベースの再インストールは怖いので、なんとかこれで落ち着いてほしいと願ってます。
satorukibiゲスト結局インストールし直しました。ところがやはり、
A5:SQL Mk-2 x64 Version 2.19.1
モジュール’A5M2.exe’のアドレス0000000000ACF3F9 でアドレス
FFFFFFFFFFFFFFFF に対する読み取り違反がおきました。というメッセージが出ます。これがたくさん出るようになると前に書いたような症状が出ます。もしまたメッセージが出たら、正確なものをおしらせします。
satorukibiゲストまた出ました。このメッセージが出ると主キー関係でテーブルが作れなくなります。
As A5:SQL Mk-2 x64
SQL 実行でエラーが発生しました。
重複キーが一意性制約”stb_se_data_race_bask_1_pkey”にに違反していますテーブルをたくさん開いていたり、他のソフトを開いていたりするとこの症状がおきるようです。全部閉じてやりなおせばできることが多いです。
松原正和キーマスターsatorukibi さんこんにちは。
もしかして勘違いされているかもしれませんが、A5:SQL Mk-2の再インストールはデータベースそのものに何も影響を与えません。データベースを再インストールするわけではないので。
あと、エラーが起きているのは何の機能でしょうか? SQLエディタから CREATE TABLE や ALTER TABLE を実行しているのでしょうか? あるいは、テーブルの「テーブル定義の変更(テーブル設計)」の機能からテーブルを再作成する機能でしょうか?
エラーメッセージ「重複キーが一意性制約”stb_se_data_race_bask_1_pkey”にに違反しています」自体については、すでにどこかのテーブルで使っている主キー名 “stb_se_data_race_bask_1_pkey” を再度作成しようとしてエラーになっているように見えます。主キー名を変更すればエラーが解消できそうに思えます。
satorukibiゲスト返信ありがとうございます。エラーがおきるのは、まさしく「SQLエディタから CREATE TABLE を実行するとき」です。
>すでにどこかのテーブルで使っている主キー名 “stb_se_data_race_bask_1_pkey” を再度作成しよ>うとしてエラーになっているように見えます。主キー名を変更すればエラーが解消できそうに思えま
>す。そんなことってあるんですね。何度も同じテーブルを作り直していますので、そうなのかもしれません。今度同じ事態に遭遇したら気を付けて見ます。ありがとうございます。
松原正和キーマスターsatorukibi さんこんにちは。
CREATE TABLE 時に主キー名が被ることでエラーが出るなら、以下のSQLを実行するとどのテーブルで該当主キー名を使っているかわかります。
SELECT * FROM information_schema.table_constraints WHERE constraint_name = ‘stb_se_data_race_bask_1_pkey’
よくあるケースとして、元テーブルを削除して作り直そうとしたときにバックアップ目的でリネームしたテーブルが元のテーブルの主キー名を使ったままになっているなどです。
-
投稿者投稿