【发布时间】:2021-05-31 15:56:44
【问题描述】:
我知道如何将图像上传到我的数据库,但我如何才能使我的计算机中的 longblob/blob 的默认图像而不是 null?
【问题讨论】:
标签: mysql sql image blob default
我知道如何将图像上传到我的数据库,但我如何才能使我的计算机中的 longblob/blob 的默认图像而不是 null?
【问题讨论】:
标签: mysql sql image blob default
将 DEFAULT 属性设置为 BLOB 列(当然 NULL 除外)的唯一方法是将其指定为表达式。
如果您想将 DEFAULT 值设置为某个图像,那么您可以:
CREATE temptable (blob_column BLOB)
SELECT LOAD_FILE('image_filename') AS blob_column;
SELECT HEX(blob_column)
FROM temptable;
将在输出中获得长字符串文字。
CREATE TABLE tablename ( ...
blob_column_name BLOB DEFAULT (UNHEX('long HEX literal')),
... );
注意包裹表达式的括号(示例中的 UNHEX() 函数) - 它们是强制性的!单个DEFAULT UNHEX('long HEX literal')会产生语法错误。
【讨论】: