如何将数据(数据类型 BLOB)复制到另一个表中?

Posted

技术标签:

【中文标题】如何将数据(数据类型 BLOB)复制到另一个表中?【英文标题】:How to copy data (datatype BLOB) into another table? 【发布时间】:2020-11-01 05:32:16 【问题描述】:

我想将数据从 blob 复制到相同数据类型 blob 中的另一个表,但它变成了

您的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 '???q??I=|(T???>?????77j???~?>O? ?i?:??Ѹ>??~廄w??_????㷈???Q/?8l>?XW?c'在第1行

我发现,imageDesign 无法传输,因为数据太长,如果数据只有 1.7KiB,可以传输。请帮我完成我的fyp项目

$query = "SELECT * FROM cart where userID = '$user_id'";  
    $result = mysqli_query($con, $query);  
    $countOrd =  mysqli_num_rows($result);
    if(mysqli_num_rows($result) > 0)  
      
         while($row = mysqli_fetch_array($result))  
         
             $productQuantity = $row["productQuantity"];
             $productID = $row["productID"];
             $productSize = $row["productSize"];
             $productColour = $row["productColour"];
             $designType = $row["designType"];
             $readymadeID = $row["readymadeID"];
             $imageDesign = $row["imageDesign"];

    $add_query ="INSERT INTO orders(userID,productID,productSize,productColour,orderQuantity,designType,readymadeID,imageDesign,orderPayment,orderStatus,orderDate,orderTime) values ('$user_id','$productID','$productSize','$productColour','$productQuantity','$designType','$readymadeID','$imageDesign','$payment','Pending','$orderDate','$orderTime')";
    $delete_query="DELETE from cart where userID='$user_id'";
    $add_query_result=mysqli_query($con,$add_query) or die(mysqli_error($con));
    $delete_query_result=mysqli_query($con,$delete_query) or die(mysqli_error($con));
    

【问题讨论】:

准备好的语句将使您的语法不易出错。 in 可能实际上是 blob 部分所必需的。 仅供参考:您的代码有一个明显的SQL injection vulnerability。如果您不知道那是什么,请阅读它,并相应地修复您的代码,否则黑客可以轻松窃取您的所有数据并破坏您的数据库。作为副作用,您的 BLOB 也会起作用。 【参考方案1】:

Blob-Data 不能与 dynamic-adhoc-sql 一起使用(无论如何都要避免这种情况)。关于使用 blob 数据(和强制参数绑定)的非常好的指南: MySQL & Blob

【讨论】:

以上是关于如何将数据(数据类型 BLOB)复制到另一个表中?的主要内容,如果未能解决你的问题,请参考以下文章

ABAP 中内表的复制

如何将一个数据库中的一个表复制到另一个数据库中的表中

SQL Server如何将一个巨大的表数据复制到另一个表中

我们如何从h2数据库中提取blob数据类型列的数据?

Azure Blob 存储:防止 Blob 复制到另一个存储帐户的最佳方法?

如何将数据从一个表复制到另一个表,然后使用 Java 删除第一个表中的数据?