0

これが私の問題の要点です..

 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 dev環境で、クエリが機能していることです..おそらく、睡眠が必要なだけで、明らかな何かが欠けていますか? 助けてください :)

4

1 に答える 1

0

この平和なクエリでのあなたの引用

`Customers.chargify_customer_id`

引用符の間の穴の文字列が列名であると MySQL に思わせます。これを試して:

Customers.`chargify_customer_id`

これを行うこともできます:

`Customers`.`chargify_customer_id`

これらの単語は予約語ではないため、引用符をそのままにして、次のようにすることができます。

Customers.chargify_customer_id
于 2012-02-14T10:53:40.440 に答える