首页 > 解决方案 > 将图像插入 SQL Server 数据库表列

问题描述

所以我创建了一个这样的菜单表

create table Menu(
MenuID char(5) primary key check(menuID LIKE 'MN[0-9][0-9][0-9]'),
MenuName varchar (50) not null,
MenuPrice int not null,
MenuImage varbinary(max) not null,
CategoryID char(5) references Category(CategoryID) ON UPDATE CASCADE ON DELETE SET NULL
)

我想在 Menu 中插入值,但它不起作用。

insert into Menu values
('MN001','Mac & Cheese',60000,(SELECT * FROM OPENROWSET(BULK 'C:\Users\Kristina\Documents\FOODS\maccheese.jpg', SINGLE_BLOB) as T1),'CA001'),
('MN002','Grilled Veggies',60000,(SELECT * FROM OPENROWSET(BULK 'C:\Users\Kristina\Documents\FOODS\grilled.jpg', SINGLE_BLOB) as T2),'CA001')

它一直给我:','附近的语法不正确。我正在使用 SQL Server Management Studio 18。我对此很陌生。请帮助我,谢谢!

标签: sql-server

解决方案


对我来说很好

create table Menu(
MenuID char(5) primary key check(menuID LIKE 'MN[0-9][0-9][0-9]'),
MenuName varchar (50) not null,
MenuPrice int not null,
MenuImage varbinary(max) not null,
CategoryID char(5) --references Category(CategoryID) ON UPDATE CASCADE ON DELETE SET NULL
)

insert into Menu values
('MN001','Mac & Cheese',60000,(SELECT * FROM OPENROWSET(BULK 'C:\temp\t.txt', SINGLE_BLOB) as T1),'CA001'),
('MN002','Grilled Veggies',60000,(SELECT * FROM OPENROWSET(BULK 'C:\temp\t.txt', SINGLE_BLOB) as T2),'CA001')

推荐阅读