2015-04-13 2 views
-1

У меня есть таблица с основным столбцом «MatchId», за которой следуют многие другие столбцы.Неизвестный столбец в списке полей на вставке

К сожалению, я не могу получить правильный запрос на вставку/обновление: даже если я хочу только вставить MatchId (не автоинкремент, кстати), я получаю сообщение об ошибке Неизвестный столбец в списке полей, ...

Вот мой запрос:

INSERT INTO `stats` (`MatchId`) VALUES (`123456`); 

Как вставить что-то в этой таблице без получаю эту ошибку?

+1

показать полную схему вашей таблицы 'stats' – dbinns66

+2

Попробуйте VALUES ('123456') (одинарные кавычки) вместо VALUES (' 123456')? – Maximus2012

+0

@Fred -ii- Я считаю, что мой вопрос не является дубликатом, так как я явно не знал *, что моя проблема связана с обратными окнами (как указано в моем исходном вопросе, я читал об обратных выводах и т. Д. В stackoverflow, но ни один ответы помогли мне.) – Fly

ответ

2

У вас неправильные типы котировок вокруг значения. Backticks используются вокруг имен таблиц и столбцов. Процитируем строки, одинарные или двойные кавычки:

INSERT INTO `stats` (`MatchId`) VALUES ('123456'); 

Если это целое число, не нужно цитировать вообще:

INSERT INTO `stats` (`MatchId`) VALUES (123456); 

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

+0

Странно, теперь это работает. Я не понимаю, почему: 123456 - целое число, а не строка. Так почему же его следует рассматривать как один? – Fly

+1

В исходном коде вы делали это имя столбца, помещая его в обратные ссылки. – Barmar

1

Проверьте это в phpmyadmin непризнанным полем «123456». Измените свой SQL и обведите значение в одинарные кавычки

Смежные вопросы