2016-08-24 16 views
0

私は私の焼いたテーブル(WampServer MySQLデータベース)を実行し、私はこのエラーを取得する:エラー:SQLSTATE [42S22]:カラム見つかりません:1054

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Users.user_id' in 'on clause'

If you are using SQL keywords as table column names, you can enable identifier quoting for your database connection in config/app.php.

SQLクエリ:

SELECT `Bookmarks`.`id` AS `Bookmarks__id`, 
     `Bookmarks`.`user_id` AS `Bookmarks__user_id`, 
     `Bookmarks`.`title` AS `Bookmarks__title`, 
     `Bookmarks`.`description` AS `Bookmarks__description`, 
     `Bookmarks`.`url` AS `Bookmarks__url`, 
     `Bookmarks`.`created` AS `Bookmarks__created`, 
     `Bookmarks`.`modified` AS `Bookmarks__modified`, 
     `Users`.`id` AS `Users__id`, 
     `Users`.`email` AS `Users__email`, 
     `Users`.`password` AS `Users__password`, 
     `Users`.`created` AS `Users__created`, 
     `Users`.`modified` AS `Users__modified` 
FROM `bookmarks` `Bookmarks` 
    INNER JOIN `users` `Users` ON 
      `Users`.`user_id` = (`Bookmarks`.`user_id`) 
LIMIT 20 OFFSET 0 

このエラーメッセージをカスタマイズする場合は、src\Template\Error\pdo_error.ctpを作成してください。

+2

'Users.id'は列が – RiggsFolly

+0

と呼ばれ、なぜあなたは'( 'Bookmarks'.'user_id')のために丸括弧を追加します'、彼らが何の目的を果たしていない厥 – RiggsFolly

+0

に変更し、それを@RiggsFollyこれはCakePHPに関連する質問です。 CakePHPはその特定のSQLを生成するクエリビルダを使用するので、OPは括弧の配置のようなものに関してはあまり影響を与えません。コンパイラが技術的に要求されているかどうかをチェックする余分な時間がかかりませんので、時には不必要な余分な括弧がいくつかあります。 – ndm

答えて

1

ユーザテーブルでは、プライマリIDはidではなく、user_idです。それがエラーを起こす理由です。代わりに、このクエリをお試しください:

SELECT `Bookmarks`.`id` AS `Bookmarks__id`, 
     `Bookmarks`.`user_id` AS `Bookmarks__user_id`, 
     `Bookmarks`.`title` AS `Bookmarks__title`, 
     `Bookmarks`.`description` AS `Bookmarks__description`, 
     `Bookmarks`.`url` AS `Bookmarks__url`, 
     `Bookmarks`.`created` AS `Bookmarks__created`, 
     `Bookmarks`.`modified` AS `Bookmarks__modified`, 
     `Users`.`id` AS `Users__id`, 
     `Users`.`email` AS `Users__email`, 
     `Users`.`password` AS `Users__password`, 
     `Users`.`created` AS `Users__created`, 
     `Users`.`modified` AS `Users__modified` 
FROM `bookmarks` `Bookmarks` 
    INNER JOIN `users` `Users` ON 
      `Users`.`id` = `Bookmarks`.`user_id` 
LIMIT 20 OFFSET 0 
+0

私は10分早く簡単なコメントで言ったことだと思います – RiggsFolly

+0

あなたはまた、ブラケットに関する私のコメントを手に入れました。 – RiggsFolly

+0

私はあなたにアップワイヤーを与えることもできると思います。あなたはそれらを両方とも答えに変換するのに徹底していたので、質問者はおそらく長く行っているので気にしません。 – RiggsFolly

関連する問題