質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
A5:SQL Mk-2

A5:SQL Mk-2は、フリーのSQL開発ツールです。高機能で軽量、且つ分かりやすいことを目指して開発されました。SQLの実行やテーブル編集などの機能に加え、簡単な操作によりDB定義書やER図を自動生成することも可能です。

INSERT

INSERTとは、行を追加する、コンピュータのデータベース言語SQLにおけるデータ操作言語(DML)ステートメントの1つである

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Q&A

解決済

3回答

14384閲覧

A5:SQL Mk-2でデータのinsertができない

Rivermouth

総合スコア19

A5:SQL Mk-2

A5:SQL Mk-2は、フリーのSQL開発ツールです。高機能で軽量、且つ分かりやすいことを目指して開発されました。SQLの実行やテーブル編集などの機能に加え、簡単な操作によりDB定義書やER図を自動生成することも可能です。

INSERT

INSERTとは、行を追加する、コンピュータのデータベース言語SQLにおけるデータ操作言語(DML)ステートメントの1つである

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

0グッド

0クリップ

投稿2020/08/25 05:33

AM5:SQL Mk-2を使い、PostgreSQLでテーブルを作成し、値をinsertしたいのですが何故か以下のエラーが出てしまいます。

イメージ説明

実行しているのは以下のinsert文です。

イメージ説明

テーブルは以下のように配置しております。

イメージ説明

カラム情報は以下の通りです。

イメージ説明

何の事は無い普通のSQL文なのですが、エラーになってしまいます。

どなたか分かる方いらっしゃいませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yoorwm

2020/08/25 06:03

実行ボタンにマウスポインタを合わせると、実行形式が出るのでそちらとか確認してみるとどうでしょうか? (まぁ、キャレット位置云々言われてるからキャレット位置からの実行かとは思いますが。)
m.ts10806

2020/08/25 06:12

エラーの指示どおりに操作しては
Rivermouth

2020/08/25 06:17

実行すると列"AAA"は存在しませんとエラーが出てしまいます。
m.ts10806

2020/08/25 06:47

であれば、質問内の問題は解決しています。
m.ts10806

2020/08/25 06:47

しかし、これくらいのエラーメッセージは読みましょう。日本語で、難解には思えません。
sazi

2020/08/25 07:03

回答してから気付きましたが、未解決状態が非常に多いですね。 時間経過からして、自己解決しているものもあるはずです。 回答してくれた人への礼儀という点からも、マナーとしてきちんとクローズして下さい。
guest

回答3

0

ベストアンサー

そのエラーは実行時のカーソル位置によって、実行すべきSQLの範囲が正しく示されていない場合に発生します。

実行するSQL全体を選択した状態にして実行するか、SQLの実行オプションの「実行位置」を「先頭から全て」にして実行して下さい。

また、実行するSQLについて、「"」での括りはテーブル名やカラム名を参照するもので、「"」で括るのは大文字/小文字の識別が必要な場合のみです。
文字列を値として指定する場合は「'」で括って下さい。

投稿2020/08/25 06:40

編集2020/08/25 06:55
sazi

総合スコア25300

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

指示どおりキャレットの位置をセミコロンの位置にするか、SQL文を選択状態にして実行すれば良いのでは。

投稿2020/08/25 06:13

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

SQL

1INSERT INTO public."SampleDB"(id, name) values(1, 'AAA') ; 2 3INSERT INTO public.SampleDB(id, name) values(1, 'AAA') ; 4 5INSERT INTO SampleDB(id, name) values(1, 'AAA') ;

のいずれかで試してみては?

投稿2020/08/25 05:43

Orlofsky

総合スコア16417

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2020/08/25 06:14

SQL自体に問題があるのでしたら別のエラーが出るはずです
Rivermouth

2020/08/25 06:26

INSERT INTO public."SampleDB"(id, name) values(1, 'AAA') ; 重複キーが一意性制約"SampleDB_pkey"に違反しています。 INSERT INTO public.SampleDB(id, name) values(1, 'AAA') ; リレーション"public.sampledb"は存在しません INSERT INTO SampleDB(id, name) values(1, 'AAA') ; リレーション"sampledb"は存在しません。 というエラーが出てしまいます。
Orlofsky

2020/08/25 06:37 編集

最初の INSERTが正しいようです。 ただし、 > 重複キーが一意性制約"SampleDB_pkey"に違反しています。 と既に同じキーのデータがINSERTされているから重複エラーになっています。 INSERT INTO public."SampleDB"(id, name) values(2, 'BBB') ; なら通るはずです。 なお、SQLでは文字列はシングルクォートで囲むのが掟です。(データベースにより例外はあるけど)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問