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

MySQL用語集

カテゴリー: エラー  閲覧数:148 配信日: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-4-24
順位 ページタイトル抜粋 アクセス数
1 #1241 - オペランドに 1 個の列が必要です。 | エラー 3601
2 MySQL用語 1560
3 SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry | エラー 1356
4 クエリエラー: #1265 - 列 'カラム名' の 行 ★ でデータが切り捨てられました。 | エラー 1335
5 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[22007]: Invalid datetime format: 1292 Incorrect datetime value | エラー 927
6 Data truncated for column | エラー 608
7 where clause is ambiguous | エラー 600
8 Incorrect integer value | エラー 582
9 クエリエラー: #1294 - 列 'カラム名' に ON UPDATE旬は無効です。 | エラー 567
10 <> | 演算子 477
11 スキーマ | データベースの構造 451
12 インデックス | 最適化 407
13 #1067 - Invalid default value for 'id' | エラー 389
14 SELECT list is not in GROUP BY clause and contains nonaggregated column | エラー 265
15 #3106 - 'Fulltext index on virtual generated column' is not supported for generated columns. | エラー 245
16 問題発生 / ハマった点 / indexを確認 243
17 エラーメッセージ / エラー原因 / エラー対応 239
18 遭遇例1.INT型カラムに空文字INSERT 238
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 △△ | エラー 233
20 phpMyAdmin上で、VARCHARデータ型カラム を FLOATデータ型カラム へ変更しようとしたら、エラー発生 228
2025/4/25 1:01 更新