ホームページ >データベース >mysql チュートリアル >SQL クエリに「認識されない名前: [9:8] の従業員」と表示されるのはなぜですか?
SQL エラーのトラブルシューティング:「認識されない名前: [9:8] の従業員」
このエラー「認識されない名前: [9:8] の従業員」は、通常、未定義のテーブル エイリアスが原因で SQL クエリで発生します。 これがどのように起こるのか、そしてそれを修正する方法を調べてみましょう。
この問題は、テーブルが適切な別名なしで参照される場合、特に ON
の JOIN
句内で参照される場合に発生します。 次の例を考えてみましょう:
<code class="language-sql">SELECT employees.name AS employee_name, employees.role AS employee_role, departments.name AS department_name FROM `strange-calling-318804.employee_data.Employees` JOIN `strange-calling-318804.employee_data.departments` ON employees.department_id = departments.department_id</code>
employees
と departments
は ON
句で使用されていますが、使用前にエイリアスとして正式に定義されていないことに注意してください。
解決策: テーブル エイリアスの定義
この修正には、AS
キーワードを使用してエイリアスを明示的に割り当てることが含まれます。
<code class="language-sql">SELECT employees.name AS employee_name, employees.role AS employee_role, departments.name AS department_name FROM `strange-calling-318804.employee_data.Employees` AS employees JOIN `strange-calling-318804.employee_data.departments` AS departments ON employees.department_id = departments.department_id</code>
AS employees
と AS departments
を追加することで、エイリアスを明確に定義し、曖昧さを解決し、「認識されない名前」エラーを排除します。 これにより、データベースは ON
句でどのテーブルが参照されているかを確実に認識できるようになります。
以上がSQL クエリに「認識されない名前: [9:8] の従業員」と表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。