Я прочитал много разных сообщений, пытаясь понять, почему мой код не работает, но цель здесь - установить значение столбца "имя" равным нулю, если столбец "метка" ниже 69. Мой код:
CREATE PROCEDURE gradesReport()
BEGIN
SELECT name FROM students WHERE mark > 69;
UPDATE students SET name = NULL WHERE mark < 69;
END
Первое утверждение работает нормально, но затем я получаю сообщение об ошибке, что имя столбца не может быть нулевым.
Вот еще один способ сделать столбец nullable в MySQL:
ALTER TABLE students MODIFY name VARCHAR(255);
Столбцы по умолчанию имеют значение NULL в MySQL, поэтому нам действительно не нужно указывать NULL
в инструкции alter.
Может быть, name
столбца объявлено как не равное нулю
Сначала вы должны изменить его на NOT NULL
Column
ALTER TABLE students
CHANGE 'name' varchar(255) NULL;