将整个数据库的空字符串更新为NULL

haf*_*huk 2 mysql stored-procedures information-schema

我正在执行一些数据库清理,并注意到有很多列在各列中都有空字符串和NULL值.

是否可以编写一个SQL语句来为我的数据库中每个表的每一列更新空字符串为NULL,除了不允许NULL的那些?

我看了看information_schema.COLUMNS表,认为这可能是开始的地方.

O. *_*nes 5

使用一个简单的SQL语句不可能做到这一点.

但是你可以使用每列的一个语句来完成它.

UPDATE TABLE SET COLUMN = NULL
WHERE LENGTH(COLUMN) = 0
Run Code Online (Sandbox Code Playgroud)

或者,如果要将具有空格的项清空:

UPDATE TABLE SET COLUMN = NULL
WHERE LENGTH(TRIM(COLUMN)) = 0
Run Code Online (Sandbox Code Playgroud)