MySQL запрос с литием от разработчика до производства - PullRequest
0 голосов
/ 14 февраля 2012

Вот суть моей проблемы ..

 CREATE TABLE `customers` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(50) DEFAULT NULL,
  `last_name` varchar(50) DEFAULT NULL,
  `website` varchar(255) DEFAULT NULL,
  `chargify_customer_id` int(11) DEFAULT NULL,
  `source_url` varchar(255) DEFAULT NULL,
  `referer` varchar(255) DEFAULT NULL,
  `updated` datetime DEFAULT NULL,
  `created` datetime DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB; 


## This causes an error. 
mysql> SELECT Customers.id FROM `customers` AS `Customers` WHERE `Customers.chargify_customer_id` = xxx;
ERROR 1054 (42S22): Unknown column 'Customers.chargify_customer_id' in 'where clause'


## But
mysql> SELECT Customers.id FROM `customers` AS `Customers` WHERE `chargify_customer_id` = xxx ;

#gives a result

Что странно, это то, что моя среда разработки Mac, запрос работает .. может быть, мне просто нужно спать, и я упускаю что-то очевидное? Пожалуйста, помогите:)

1 Ответ

0 голосов
/ 14 февраля 2012

Ваши кавычки в этом запросе

`Customers.chargify_customer_id`

заставляют MySQL думать, что строка дыры между кавычками - это имя столбца.Попробуйте это:

Customers.`chargify_customer_id`

Вы также можете сделать это:

`Customers`.`chargify_customer_id`

, и так как эти слова не являются зарезервированными, вы можете просто оставить кавычки и сделать это:

Customers.chargify_customer_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...