Имя столбца не может быть пустым

0

Я прочитал много разных сообщений, пытаясь понять, почему мой код не работает, но цель здесь - установить значение столбца "имя" равным нулю, если столбец "метка" ниже 69. Мой код:

CREATE PROCEDURE gradesReport()
BEGIN
  SELECT name FROM students WHERE mark > 69;
  UPDATE students SET name = NULL WHERE mark < 69;
END

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

  • 0
    Вы уверены, что хотите стереть имя? Как бы вы узнали, для кого предназначены оценки, если вы это сделаете?
  • 0
    @AzizSaleh Я пытаюсь скрыть их имена, когда их оценка низкая.
Показать ещё 8 комментариев
Теги:

2 ответа

0
Лучший ответ

Вот еще один способ сделать столбец nullable в MySQL:

ALTER TABLE students MODIFY name VARCHAR(255);

Столбцы по умолчанию имеют значение NULL в MySQL, поэтому нам действительно не нужно указывать NULL в инструкции alter.

1

Может быть, name столбца объявлено как не равное нулю

Сначала вы должны изменить его на NOT NULL Column

ALTER TABLE students 
CHANGE 'name' varchar(255) NULL;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню