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

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

新規登録して質問してみよう
ただいま回答率
85.48%
SQL

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

Q&A

解決済

3回答

1189閲覧

#1054 - 列 'makers_id' は 'field list' にはありません。

international

総合スコア16

SQL

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

1グッド

0クリップ

投稿2023/01/15 18:57

編集2023/01/18 10:05

書籍の内容です。
Chappter4-18
「データベースのリレーション」
P.179 [複数のテーブルを横断して検索する]
では、この状態で「いちご生産者」を知るにはどうした良いのでしょうか?
この時通常の手順としては次の通りにします。

❶次のSQLを発行して商品1の情報を取りだします。
「phpMyAdmin」の「SQL」に
SELECT makers_id FROM my_items WHERE id=1;
と入力したところ」

エラー
SQL query: ドキュメント
SELECT makers_id FROM my_items WHERE id=1 LIMIT 0, 25
MySQL のメッセージ: ドキュメント
#1054 - 列 'makers_id' は 'field list' にはありません。

とでます。

次の書籍の内容です。
❷このデータの「maker_id」を見て、1であることを知ります。

❸次のSQLを発行して、生産者の情報を検索します。

SELECT * FROM makers WHERE id=1;

id maker_id   name   a ddress   tel
1 0   山田さん  東京都港区   000-111-2222
(書籍の図通りに出力されました)

テーブル:my_items の中身は以下のアドレス~
見れます。(mysql> select * from my_items;)
http://afurieitohannei.la.coocan.jp/sns/search.htm

エラーの原因ですが少し気になります。
ググりましたが 分かりませんでした。
エラーの出る原因を教えていただけないでしょうか?
よろしくお願いいたします。

追伸です。
mysql> select * from my_items;
+----+----------+--------------+-------+----------------------+-------+---------------------+
| id | maker_id | item_name | price | keyword | sales | created |
+----+----------+--------------+-------+----------------------+-------+---------------------+
| 1 | 5 | いちご | 180 | 赤い,甘い,ケーキ | 5 | 2018-01-01 00:00:00 |
| 2 | 2 | りんご | 90 | 丸い,赤い,パイ | 20 | 2023-01-11 06:57:21 |
| 3 | 1 | バナナ | 120 | パック,甘い,黄色 | 16 | 0000-00-00 00:00:00 |
| 4 | 3 | ブルーベリー | 200 | 袋入り,青い,眼精疲労 | 8 | 0000-00-00 00:00:00 |
+----+----------+--------------+-------+----------------------+-------+---------------------+
4 rows in set (0.01 sec)

SELECT my_items FROM makers_id WHERE id=5;
エラー
SQL query: ドキュメント
SELECT my_items FROM makers_id WHERE id=5 LIMIT 0, 25
MySQL のメッセージ: ドキュメント
#1146 - 表 'mydb.makers_id' は存在しません。

 私からして 存在しています。
次に
SELECT id FROM my_items WHERE id=1
結果
全文
id

ちゃんと出ますね
以上ですが
maker_idを1~5に変更して試しましたが結果は同じでした。
気になることがあります。
最後の id=1 の id ですが 「SQLハンドブック 題2版」 に記載がないので
関数などとはちがいますよね これは なんですか?
宜しくお願い致します。

どうもすみません。
maker_idとするところをmaker's'_idと入力
S が蛇足でした。

1981225👍を押しています

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

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

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

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

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

guest

回答3

0

ベストアンサー

makersテーブルに存在するのはmaker_idであってmakers_idではないのでは

投稿2023/01/16 05:55

yambejp

総合スコア114814

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

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

international

2023/01/18 10:05

どうもすみません。 maker_idとするところをmaker's'_idと入力 S が蛇足でした。
guest

0

エラーメッセージのとおりです。列名が正しくありません。

投稿2023/01/15 22:25

maisumakun

総合スコア145183

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

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

0

私からして

目視による確認の過信をやめたらいいのでは。
参考「書」ではなく参考「サイト」があるなら、
定義をコピペして自身のコード内を検索するだけで間違いに気づけるはずですが、
提示されているのは画像が張り付けてあるのみのURLのようなので、実用に耐えません。

「自分は正しい」という思い込みから間違っているので、ずっと同じような間違いを犯しているのでしょう。
「間違いない手順」を習慣化することもうまく生きていくために大事です。
間違ったやり方を続けていても間違ったやり方がうまくなるだけで、正しい成長には永久に繋がりません。

画像や書籍と言ったコピー&ペーストに向かない情報を元にしている時点で間違っています。
もちろんテキストベースであっても自分の目を頼りにしている以上、間違っています。
世の中で起きている事故のほとんどはヒューマンエラー。人間の操作が一番信頼できない(コピーする範囲は手動なのでそこも「範囲を間違えないテクニック」を身に着ける必要があるが)

投稿2023/01/16 21:50

編集2023/01/16 21:50
m.ts10806

総合スコア80850

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問