Я хочу написать сценарий SQL, который изменяет атрибут столбца на ноль от не-ноль. Перед изменением мне нужно проверить, если столбец уже находится в ненулевом режиме с помощью SQL-запроса.
Пытался:
SELECT COLUMNPROPERTY('pis.prefetching_rules', 'date_delete','AllowsNull') AS 'AllowsNull';
Но MySQL Workbench выдает следующую ошибку:
Код ошибки: 1054. Неизвестный столбец «COLUMNPROPERTY» в «списке полей»
Для этого вы должны использовать alter table
(при условии, что ваш столбец — varchar из 255) просто примените modify
,
Столбцы обнуляются по умолчанию и поэтому просто не назначают другие ограничения как NOT NULL
ALTER TABLE mytable MODIFY your_column_name VARCHAR(255);
Этот запрос даст вам подробную информацию обо всех столбцах «не обнуляется»
во всех таблицах в ‘your_database_name_here’.
SELECT *
FROM information_schema.columns
WHERE TABLE_SCHEMA = 'your_database_name_here'
AND IS_NULLABLE = 'NO';
Затем вы должны решить, какой из них вы хотите изменить.
К вашему сведению, вы не можете использовать этот запрос как подзапрос в ALTER sql, потому что он не принимает подзапросы