将uniqueidentifier存储到php变量中,然后将变量作为uniqueidentifier插入

时间:2019-03-13 16:46:02

标签: php sql

我有两个不同的SQL表,它们都有一个名为ID的uniqueidentifier字段。

在我的网站上,我调用一个查询来将表A中的uniqueidentifier字段存储到变量中。

$query = "SELECT ID FROM [dbo].[TableA] WHERE Name='{$name}'";
$result = sqlsrv_query($conn, $query);

while ($row = sqlsrv_fetch_array($result)){
    $ID= $row['ID'];
}   

然后,在将此唯一标识符存储到$ ID之后,将其插入到TableB中。

$query = "INSERT INTO [dbo].TableB(ID) values ('{$ID}')";
$result = sqlsrv_query($conn, $query); 

这将不起作用,在sqlsrv_errors()上显示以下错误

语法错误,权限冲突或其他非特定错误。

当我们将 $ ID 更改为 newid()时,查询正常工作,但是我希望插入自己的值而不是生成新值。

$ ID回显显示以下内容: D52A7C05-0399-4C82-8662-0F5731B4062C ,该值与当前存储在TableA id中的值完全相同。

也许当我将$ uniqueidentifier存储在$ ID上时,它会转换为字符串,因此不是一个正确的值,不能作为uniqueidentifier插入吗?

已修复:发现我在查询中遇到了一个非常小的语法错误。使用var_dump($query);来解决它。谢谢@ADyson。

0 个答案:

没有答案