Подтвердить что ты не робот

Таблица не существует после CREATE TABLE

Я пытаюсь импортировать этот sql в мое имя базы данных symfony

CREATE TABLE IF NOT EXISTS ingredient (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1;

и я получаю

#1146 - Table 'symfony.ingredient' doesn't exist

Это кажется довольно странным, так как я пытаюсь здесь СОЗДАТЬ эту таблицу, поэтому... почему она не работает? У меня такая же проблема, если я попробую

CREATE TABLE symfony.ingredient

Или функция в symfony 2

c:\Dev\Symfony>php app/console doctrine:schema:create

PS: У меня есть эта проблема только с новой версией xampp.

ИЗМЕНИТЬ

Ну, мне почему-то удалось решить мою проблему. Я удалил свою базу данных, затем создал один (не с интерфейсом) и, наконец, отключил сервис mysql. Я не знаю, почему и как он отклеивает меня, но я надеюсь, что это поможет кому-то.

4b9b3361

Ответ 1

У меня была та же проблема. Мое решение: Измените имя таблицы в запросе create table, exequte и переименуйте таблицу.

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

Ответ 2

Что для меня работало:

  • Переход к папке xampp/mysql/data/database-name/
  • Вы увидите только файл .frm. Для пустых таблиц отсутствуют файлы .MYD и .MYI.
  • Удалить файл .frm.
  • Остановите процесс MySQL и перезапустите его.
  • После этого мне удалось создать таблицу.

Старая версия xampp создала таблицы в MyISAM в новой версии как InnoDB!

Ответ 3

У меня была такая же проблема. При создании таблицы я получил сообщение "сервер ушел", и после этого у меня на столе не было сообщений, но я не мог попытаться заново создать таблицу, потому что тогда у меня появилось сообщение о том, что оно существует. Я решил это, выполнив это в командной строке:

mysqlcheck --repair --all-databases -u root -p

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

Ответ 4

Хм, вы уверены, что у вас есть база данных и имеют привилегии делать инструкции CREATE.

Если у вас есть phpmyadmin:

Чтобы проверить первую возможность, создайте новую (пустую) тестовую базу данных, щелкните ее в меню и затем нажмите кнопку SQL в верхней навигационной панели и скопируйте ее снова. Если это не работает, попробуйте второе.

Для второго вы можете нажать кнопку "домой", а затем перейти к "Привилегии". Если есть только две или три учетных записи, но все с привилегиями root, у вас есть привилегии делать CREATE. В противном случае вы можете проверить свою учетную запись и предоставить себе привилегии.

Если обе возможности не сработали, я тоже не знаю. Это сработало для меня: (

Ответ 5

У меня была такая же проблема: # 1146 - Таблица "tutsplus_ci.posts" не существует. Я решил эту проблему следующим образом:

Я сделал экспорт инкриминированной таблицы в файл sql. Я заметил, что имя таблицы в файле .sql имеет супериментальное конечное пространство. Я вернусь к phpmyadmin в разделе "Операции" моей таблицы, и переименую таблицу из "posts" в "posts". После выполнения всех этих действий ошибка не появилась.

В заключение, действительно, столбец "сообщений" не существует, как сказано в сообщении об ошибке. Поскольку фактическое имя таблицы было "сообщениями", а не "сообщениями". Пространство перед именем трудно заметить в phpmyadmin. Это история. Ничего особенного. Я надеюсь, что это помогает!