悩んだ点 / 原因判明 / 今回学んだ教訓

MySQL用語集

カテゴリー: エラー  閲覧数:165 配信日:2021-08-29 20:07


悩んだ点


結合条件ではテーブル名を指定しているのに、なぜエラー表示されるのか分からず悩みました
LEFT JOIN elem el ON (a.id = el.entry_id)


原因判明


テーブル名指定が必要なのは、結合条件ではなく、WHERE指定の方でした

従来
全テーブルでpublicカラムは一つしかなかったので、下記でよかった
WHERE public = 1


変更点
今回結合追加するテーブルにpublicカラムがあったため、aテーブル指定追加が必要になりました
WHERE a.public = 1


今回学んだ教訓


「where clause is ambiguous」エラー原因は、クエリの中でどのテーブルのカラムか指定していないことですが、該当箇所は結合式だけとは限りません。
WHERE式もよくよく確認しましょう。

指定期間人気ページランキング / 2020-5-28 → 2025-9-18
順位 ページタイトル抜粋 アクセス数
1 #1241 - オペランドに 1 個の列が必要です。 | エラー 3737
2 MySQL用語 1596
3 クエリエラー: #1265 - 列 'カラム名' の 行 ★ でデータが切り捨てられました。 | エラー 1393
4 SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry | エラー 1385
5 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value | エラー 991
6 Data truncated for column | エラー 649
7 where clause is ambiguous | エラー 625
8 Incorrect integer value | エラー 614
9 クエリエラー: #1294 - 列 'カラム名' に ON UPDATE旬は無効です。 | エラー 613
10 <> | 演算子 477
11 スキーマ | データベースの構造 452
12 #1067 - Invalid default value for 'id' | エラー 421
13 インデックス | 最適化 408
14 SELECT list is not in GROUP BY clause and contains nonaggregated column | エラー 273
15 遭遇例1.INT型カラムに空文字INSERT 261
16 エラーメッセージ / エラー原因 / エラー対応 256
17 #3106 - 'Fulltext index on virtual generated column' is not supported for generated columns. | エラー 255
18 問題発生 / ハマった点 / indexを確認 244
19 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ★★ at line △△ | エラー 242
20 phpMyAdmin上で、VARCHARデータ型カラム を FLOATデータ型カラム へ変更しようとしたら、エラー発生 234
2025/9/19 1:01 更新