MySQL update BLOB

Hi I am trying to update a blob column from Ruby script into MySQL DB.
The script is running on PC and DB on Linux host.
The problem I see is that only 255 bytes of data being stored ,
is there any way to deal with that problem ?

myconnect = Mysql::new(host, user, “”, db)
f = File.new(file_name,‘rb’)

data = Mysql.escape_string(f.sysread(f.size))

update_sql = “update SHARE set COMPANY_LOGO = '”+ data + “’ WHERE ID =
8982167534873685924”;

stmt = myconnect.prepare(update_sql)
stmt.execute()

stmt.close
myconnect.commit
myconnect.close

I also tried to leave a - ‘?’ mark and than fill it with data, that one
is not storing anything.

On Dec 23, 8:51pm, Roman M. [email protected] wrote:

Hi I am trying to update a blob column from Ruby script into MySQL DB.
The script is running on PC and DB on Linux host.
The problem I see is that only 255 bytes of data being stored ,
is there any way to deal with that problem ?

What’s the type of the column?

Fred

tinyblob

Please quote when replying.

Roman M. wrote in post #970391:

tinyblob

Well, there’s your problem – a MySQL TINYBLOB only holds 255 bytes of
data!

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Sent from my iPhone

Yep I got it. So much trouble with the script so I missed the obvious.
But, I still don’t understand why the place holder for the update
statement doesn’t work: I mean that syntax:

update_sql = “update SHARE set COMPANY_LOGO = ? WHERE ID =
8982167534873685924”;

stmt = myconnect.prepare(update_sql)
stmt.execute(data)