Несколько вариантов. Мы могли бы 1) удалить столбец, 2) изменить столбец, чтобы разрешить значения NULL, 3) изменить определение столбца, указав для него значение, отличное от NULL DEFAULT, 4) добавить триггер BEFORE INSERT, чтобы установить значение, отличное от NULL, на в столбце 5) укажите действительное значение на ВСТАВКЕ. Много возможностей.
Мы могли бы предоставить некоторую дополнительную помощь с синтаксисом для каждой из этих опций, но без определения столбца мы не можем дать точный синтаксис, который потребуется для добавления атрибута значения DEFAULT.
Может быть невозможно удалить столбец, если он используется в индексе или на него ссылается ограничение внешнего ключа. Синтаксис для удаления столбца будет выглядеть примерно так:
ALTER TABLE mytable DROP customers_customerid ;
Синтаксис для изменения определения столбца будет выглядеть примерно так, чтобы указать значение DEFAULT:
ALTER TABLE mytable CHANGE
customers_customerid customers_customerid BIGINT NOT NULL DEFAULT '1' COMMENT 'foo' ;
^^^^^^^^^^^
Но нам нужно знать полное определение столбца и повторить это, добавляя / изменяя только те биты, которые необходимо изменить. Вышеприведенное утверждение включает предположения о типе данных и др.
Мы можем получить текущее определение столбца из определения таблицы с помощью следующего предложения:
SHOW CREATE TABLE mytable;
Примечание. Оператор добавления ограничения внешнего ключа не добавляет столбец в таблицу. выполняемые операторы должны включать синтаксис для добавления столбца.