鉴于我必须在短时间内转储大量的插入,设法将所有记录转储到一个文件中,然后通过mysql的load data infile语句加载它们。这很好,但现在我将值压缩到blob字段中,以减少插入。问题是,我无法找到将blob字段转储到文件中的方法,因此在加载数据时插入正确的值。我尝试过不同的方法,但没有幸福的结局,我想避免一个接一个地插入。
有没有人知道如何做好这件事?
我需要在我的DB mysql的blob字段中插入一个"null“值。我必须在servlet中执行此操作。
我试过这种方式
statement.setBlob(1, null);
但是我得到了这个错误
The method setBlob(int, Blob) is ambiguous for the type PreparedStatement
我甚至试过这种方式
statement.setBlob(1, EMPTY_BLOB());
但是我得到了这个错误
The method EMPTY_BLOB() is undefined for the type Name_Of_My_Cl
我将音频文件插入到我的数据库中,并且我可以很好地检索它们,但是即使我使用相同的代码,也无法检索到一些文件。这是代码getAudio.php
<?php
include 'conn.php';
// to connect with the database
$id = $_GET['id'];
// validation just to be safe
$sql = "SELECT file FROM letters1 WHERE id=$id";
// choose the column from the tab
编辑:问题是错误没有显示。这只是为了澄清一切。
我刚刚了解了什么是PDO,我决定测试它是如何工作的。从我检查过的教程中,您必须使用下面的行来显示错误:因此,无论如何,我使用了这一行,确保我的查询有错误,而且它仍然没有显示任何错误。到数据库的连接正常工作,它总是在无法连接时返回错误。总之,这是我的代码:
<?php
// Connection to the mysql database using PDO
$mysql_host = "hidden";
$mysql_dbname = "hidden";
$mysql_username = "hi
我知道,为了将大于max_allowed_packet字节的值插入到MySQL数据库中,默认的解决方案是确保客户机和服务器端max_allowed_packet变量都大于查询插入到DB中的数据块。
但是,在不改变上面提到的服务器端变量的情况下,有任何方法可以这样做吗?当我必须将数据插入一个承载在ISP中的数据库中时,不允许我更改max_allowed_packet限制时,这将是非常有用的。
另一个相关问题: MySql longblob限制为4GB,但max_allowed_packet限制为1GB。那么,是否可以在longblob表列中插入大于1GB的值?
我使用以下代码创建一个类型信息作为对象:
create or replace TYPE INFOS AS OBJECT
(
NAME VARCHAR2(50 BYTE),
PICTURE BLOB
)
以及使用下列类型信息的表客户端:
create table client
(
ID_CLIENT int not null primary key,
INFORMATIONS INFOS
)
插入代码:
insert into client values(1,INFOS('john',EMPTY_BLOB()))
无法将列INFO.PICT