提问人:Twinkles 提问时间:10/11/2023 最后编辑:marc_sTwinkles 更新时间:10/11/2023 访问量:56
在表中错误地插入数据
Incorrect insertion of data into the table
问:
我有一个用于在数据库中存储图像的表()。它包含以下列:#TempImage
Image_ID | Obj_id | 身体 | 类型 |
---|---|---|---|
1 | 22 | 0x89504E470D0A1A0A0000000D494844 | 图片/png |
2 | 23 | 0x89504E470D0A1A0A0000000D494844 | 图片/png |
Image_id
- 唯一的图像编号Obj_id
- 图像所属对象的唯一编号Body
- 编码图像(数据类型)varbinary
Type
- 图片类型(自动填写)
我需要向此表添加大量图像。
我有一个 csv 文档(Image.csv),其中有关 和 的信息。字段中的信息如下所示:obj_id
body
body
89504E470D0A1A0A0000000D4948445200000319000002340802000000FEC473F40001000049444154789CECFD5
我尝试进行以下查询:
CREATE TABLE #TempImageHexString
(
ID int NOT NULL,
BodyHexString varchar(MAX)
)
CREATE TABLE #TempImageHex
(
ID int NOT NULL,
Body varchar(MAX)
)
BULK INSERT #TempImageHexString
FROM 'D:\Image.csv'
WITH (
ROWTERMINATOR = '\n',
FIELDTERMINATOR = ';',
FIRSTROW = 1)
INSERT INTO #TempImageHex (ID, Body)
SELECT ID, CONVERT(varbinary(MAX), BodyHexString, 0)
FROM #TempImageHexString
INSERT INTO #TempImage (FEATURE_TRANSACTION_ID, BODY)
SELECT ID, CONVERT(varbinary(MAX), Body, 0)
FROM #TempImageHex
插入到表中时,列中将显示以下值:#TempImage
Body
0x38393530344534373044304131413041303030303030304434393438343435323030303030333139303030303032333430383032303030303030464543343733463430303031303030303439343434313534373839434543464435393933363444393735314530414545453143433833434634333738434339313533363536363044353938353739323043383442304432364632344142433444423535394442464430313741443041333443364633324244463737443934374538304343443442413644343646
我不知道它是什么,它绝对不是一个.此外,我希望该列自动填充值。.png
Type
image/png
请告诉我我错了什么以及如何解决这个错误。
答: 暂无答案
评论
0x
convert()
0
8
0x38
9
0x39
CONVERT(varbinary(MAX), '0x'+BodyHexString, 1)