Оператор обновления MySQL: неизвестная таблица в списке полей - PullRequest
0 голосов
/ 16 октября 2018

Как только я пытаюсь использовать UPDATE, как только я нажимаю GO, появляется следующая ошибка:

1109 - неизвестная таблица 'user' в 'списке полей'

Теперь, так как я знал, что это имя таблицы не является лучшим и уникальным, которое использовалось, я попытался немного конкретизировать свое утверждение:

UPDATE
    MyDatabase.user
SET
    MyDatabase.user.registeredAt = NOW()
WHERE
    MyDatabase.user.id = 3;

Все та же ошибка.Я попробовал это с `` вокруг стола 'или с оператором, который phpmyadmin собирает для вас одним нажатием кнопки, но все так же.Поскольку изменение имени не вариант, хотя я знаю, что это плохо, нет другого выхода, кроме как попытаться заставить его найти эту таблицу.

Что мне не хватает?

Информация о phpи mySql:

  • Версия PHP: 5.6.38
  • Версия клиента базы данных: libmysql - mysqlnd 5.0.11
  • Версия сервера: 10.1.36-MariaDB

EDIT Я читал об ошибке, когда mySQL не был установлен правильно, эта ошибка встречается чаще.Поскольку я установил весь пакет с XAMPP, вероятность этой ошибки не могла быть, не так ли?

1 Ответ

0 голосов
/ 18 октября 2018

Во-первых, убедитесь, что у вас есть таблица с таким именем:

select * from information_schema.tables where table_schema = 'MyDatabase' and table_name = 'user';

`user´ является зарезервированным ключевым словом, поэтому вам необходимо заключить в кавычки имя таблицы.

UPDATE
    MyDatabase.`user`
SET
    MyDatabase.`user`.registeredAt = NOW()
WHERE
    MyDatabase.`user`.id = 3;

Когда имя вашей базы данных также нуждается в кавычках, не включайте ни имя базы данных, ни имя таблицы.

Это неправильно:

`databasename.tablename`

Это правильно:

`databasename`.`tablename`
...