我有一个EAV表,对于每个单独的属性,我有一个新行,如下所示:
PersonID AtributeName AtributeValue
-----------------------------------
1 Name John
1 Gender Male
1 Height 170
问题在于,如果我想插入一个新的Person(ID为2,名为Jack,Male,Height 180),我还需要3个插入,并且有一个或多个更改可能会失败。我想在包含参数(ID,名称,性别,高度等)的存储过程中包含所有这些插入。
我的问题是,做这样的事情:
CREATE PROCEDURE dbo.InserSubject
@ID int,
@Name varchar(50),
@Gender varchar(50),
@Height int
AS
INSERT INTO Subjects
VALUES (1, 'Name', 'John'),
(1, 'Gender', 'Male'),
(1, 'Height', 170);
如果其中一个插入失败,会失败吗?是这种数据库/表的实现吗?
答案 0 :(得分:1)
$query = "SELECT file, type FROM uploads WHERE ref = '$ref'";
$statement = $pdo->prepare($query);
$statement->execute();
$row = $statement->fetch(PDO::FETCH_ASSOC);
header("Content-Type: " . $row["type"]);
echo $row["file"];