2016-08-24 263 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對像parenthese佈局這樣的東西沒有太多的影響。有時候會有一些不必要的額外括號,因爲編譯器不會花費額外的時間檢查它們是否在技術上需要。 – 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

我想我也可以給你一個upvote,因爲你已經徹底地將它們轉換成答案,並且提問者可能不會因爲他們早已離開而煩惱。 – RiggsFolly

相關問題