Проверьте, не является ли столбец базы данных в не-нуль через запрос SQL в MySQL Workbench

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

Пытался:

SELECT COLUMNPROPERTY('pis.prefetching_rules', 'date_delete','AllowsNull') AS 'AllowsNull';

Но MySQL Workbench выдает следующую ошибку:

Код ошибки: 1054. Неизвестный столбец «COLUMNPROPERTY» в «списке полей»

-2

Решение

Для этого вы должны использовать alter table (при условии, что ваш столбец — varchar из 255) просто примените modify,

Столбцы обнуляются по умолчанию и поэтому просто не назначают другие ограничения как NOT NULL

ALTER TABLE mytable MODIFY your_column_name VARCHAR(255);
0

Другие решения

Этот запрос даст вам подробную информацию обо всех столбцах «не обнуляется»
во всех таблицах в ‘your_database_name_here’.

SELECT *
FROM information_schema.columns
WHERE TABLE_SCHEMA = 'your_database_name_here'
AND IS_NULLABLE = 'NO';

Затем вы должны решить, какой из них вы хотите изменить.

К вашему сведению, вы не можете использовать этот запрос как подзапрос в ALTER sql, потому что он не принимает подзапросы

0

По вопросам рекламы [email protected]