Mysql

檢查列是否允許 NULL 的函式

  • October 20, 2016

有沒有辦法編寫一個插入/更新查詢來檢查列是否允許NULLs:如果它確實將列設置為NULL, 並且''(空字元串) 否則?

我會是這樣的:

UPDATE mytable 
SET field = IF(A_FUNCTION_TO_CHECK_IF_ALLOWS_NULL(), NULL, '');

您可以查詢 INFORMATION_SCHEMA:

http://dev.mysql.com/doc/refman/5.0/en/columns-table.html

在 INFORMATION_SCHEMA.COLUMNS 表中有一個 IS_NULLABLE 列。

我想你可以把它變成一個函式,但我可能會把這個邏輯放在外面。

凱德的回答是正確的,但資訊直接來自連結:

SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
 FROM INFORMATION_SCHEMA.COLUMNS
 WHERE table_name = 'mytable'

引用自:https://dba.stackexchange.com/questions/29618