почему в MySQL отсутствует столбец?

#mysql

#mysql

Вопрос:

Эта инструкция не заполняет столбец image_path. Я скопировал и вставил имена столбцов из phpMyAdmin для обеспечения точности.

 INSERT INTO (theme_name, theme_path, image_path)
VALUES ('',
        '/Applications/MAMP/htdocs/waggleb/wp-content/plugins/app-switcher/themes/Original/',
        '/Applications/MAMP/htdocs/waggleb/wp-content/plugins/app-switcher/thumbnails/original.png')
  

Комментарии:

1. Можете ли вы дать некоторые подробности об этом столбце? Какой это тип? Моя первая мысль заключается в том, что вы, возможно, пытались вставить строку, которая слишком длинная для столбца (если она имеет тип varchar).

2. Вы имеете в виду, что новая строка успешно вставлена, но столбец image_path вставленной строки равен NULL?

3. В какую таблицу вы это вставляете? И почему вы указываете theme_name, если вы вставляете для него пустую строку?

4. Что вы подразумеваете под не заполнением ?

5. Он не возвращает сообщение об ошибке?

Ответ №1:

Вам не хватает имени таблицы. Если вы посмотрите на синтаксис MySQL INSERT, вы увидите, что обязательно указывать имя таблицы.

Таким образом, если вы измените свой запрос на become..

 INSERT INTO <TABLE NAME> (theme_name, theme_path, image_path) VALUES...
  

…все должно быть хорошо.

Ответ №2:

вы пропустили имя таблицы

 INSERT INTO  TABLENAME(theme_name, theme_path, image_path)
VALUES ('',
        '/Applications/MAMP/htdocs/waggleb/wp-content/plugins/app-switcher/themes/Original/',
        '/Applications/MAMP/htdocs/waggleb/wp-content/plugins/app-switcher/thumbnails/original.png')
  

Ответ №3:

Я полагаю, вам не хватает имени таблицы.

Это должно быть:

Вставить в [имя_таблицы] ([Столбцы]) Значения ([Values])

Ответ №4:

Вы забыли назвать таблицу для ВСТАВКИ в:

 INSERT INTO my_table (theme_name, theme_path, image_path)
  

Ответ №5:

Если вы опустили имя таблицы в purpopse, проверьте, что типы данных указаны правильно для столбцов. Проверьте, чтобы длины целевых столбцов были достаточными для хранения того, что вы вставляете.