假设您要在名为 table_a 的表上插入或更新一行。
table_a 有一个名为 column_a 的 blob 列。在 column_a 中,您只想通过故意传递值来插入有效且最小的空值。
这在 MySQL 中可能吗?如果是这样,有效的空 blob 的值是多少?
NULL
值可能就是您正在寻找的值。假设您的表格有列 id
和 data
。如果data
没有默认值,则可以执行insert into table_a (?, ?) VALUES (1, NULL)
。相应记录的 id
为 1
,且 data
等于 NULL
。
另一个解决方案是定义列并将默认值设置为
NULL
。那么,上面的请求就相当于insert into table_a (?) VALUES (1)
。
外部参考: https://dev.mysql.com/doc/refman/8.0/en/working-with-null.html
NULL 应该适用于填充 BLOB 列。
图解:
-- Create a table with BLOB column
CREATE TABLE table_a (
id INTEGER PRIMARY KEY,
column_a BLOB
);
-- Populate a row with BLOB column as NULL
INSERT INTO table_a values(1,NULL);
-- Check data in table
select * from table_a;
+----+----------+
| id | column_a |
+----+----------+
| 1 | NULL |
+----+----------+