У меня ошибка при добавлении столбца в SQL

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «DECIMAL (3, 2)» в строке 1.

CREATE TABLE student (
    stud_id INT,
    name_f VARCHAR(20),
    email  VARCHAR(20),
    PRIMARY KEY(stud_id)
);

DESCRIBE student;

DROP TABLE student;

ALTER TABLE student ADD DECIMAL(3, 2);

мой полный код таков.

Как ни странно, вы не можете изменить стол, который вы уронили.

P.Salmon 16.12.2020 12:28
ALTER TABLE student ADD DECIMAL(3, 2); отсутствует имя столбца
HoneyBadger 16.12.2020 12:28

Подсказка: ALTER TABEL ADD student DECIMAL(3, 2).

Gordon Linoff 16.12.2020 12:29

Если вы удалили таблицу, она больше не существует. Как вы можете выполнить дальнейшую операцию (например, изменить таблицу?)

Ken Lee 16.12.2020 12:30

@P.Salmon Я удалил строку в синтаксисе перетаскивания, но все равно не работал

Riza Marcos 16.12.2020 12:31

Есть 2 ошибки, см. ответ от @gmb. Ваш ide останавливается на первой ошибке, которую он видит, не обязательно на первой ошибке в блоке кода.

P.Salmon 16.12.2020 12:32

У тебя было 2 проблемы. Устранения одного из них недостаточно.

Akina 16.12.2020 12:32

Что мне нужно сделать, чтобы это исправить?

Riza Marcos 16.12.2020 12:35

@Riza Marcos, ты читал ответ от @GMB? Если вы не согласны с этим, пожалуйста, прокомментируйте ответ.

P.Salmon 16.12.2020 12:37

@P.Salmon Это уже работает. Я не заметил его ответа некоторое время назад. Спасибо за помощь :)

Riza Marcos 16.12.2020 12:43
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
10
79
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Вы удаляете таблицу, прежде чем пытаться добавить новый столбец. Кроме того, вам нужно дать имя новому столбцу.

Это имеет больше смысла:

CREATE TABLE student (
    stud_id INT,
    name_f VARCHAR(20),
    email  VARCHAR(20),
    PRIMARY KEY(stud_id)
);

ALTER TABLE student ADD newcol DECIMAL(3, 2);

УДАЛИТЬ ТАБЛИЦУ студента; удаляет таблицу из базы данных, чтобы вы не могли снова ею манипулировать.

Кроме того, ваш оператор alter не включает имя столбца.

Вы удалили таблицу с помощью ученика DROP TABLE... Поэтому вы ничего не можете с ним сделать, так как он удаляется после его удаления.

Другие вопросы по теме