MySQL настаивает на том, что поле не существует, а затем говорит мне, что оно существует - PullRequest
0 голосов
/ 10 сентября 2011

CentOS 4 или 5 с MySQL 5.0.77:

mysql> UPDATE
   ->  `userTable`
   -> INNER JOIN `anotherTable`
   ->   ON `userTable.userid`=`anotherTable.userid`
   -> SET `userTable.someField`="Jimmy Page"
   -> WHERE `userTable.someField`="Jim Morrison"
   ->   AND `anotherTable.date` < NOW();
ERROR 1054 (42S22): Unknown column 'userTable.someField' in 'field list'
mysql>
mysql> SELECT count(someField) FROM userTable;
+---------------+
| count(someField) |
+---------------+
|          5076 |
+---------------+
1 row in set (0.00 sec)

mysql>

Я ввел someField и userTable в оператор SELECT путем копирования / вставки мыши в терминале, поэтому я знаю, что этоне опечатка.В чем может быть проблема здесь?

Спасибо!

1 Ответ

6 голосов
/ 10 сентября 2011

Галочки используются для цитирования столбцов и имен таблиц. С точкой в ​​кавычках это не рассматривается как разделитель между частями. Добавьте пару дополнительных отметок, чтобы исправить это.

 UPDATE
  `userTable`
 INNER JOIN `anotherTable`
   ON `userTable`.`userid`=`anotherTable`.`userid`
 SET `userTable`.`someField`="Jimmy Page"
 WHERE `userTable`.`someField`="Jim Morrison"
   AND `anotherTable`.`date` < NOW();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...