For truncation of nonspace characters, you can cause an error to occur (rather than a warning) and suppress insertion of the value by using strict SQL mode. Truncation of excess trailing spaces from values to be inserted into column is indexed, index entry comparisons are space-padded at the end.This means that, if the index requires unique values, duplicate-key errors will occur for values that differ only in the number of trailing spaces.If 'using temporary' is shown in your EXPLAIN plan, then a temporary table is being created either in MEMORY or as My ISAM table on disk.My SQL prefers MEMORY, but there are situations where it is forced to go to disk.2.
Update the Blob 4 times with byte array size of 512KB. Internally the server needs to handle the value as whole and by setting 'max_allowed_packet' admin has 'told' My SQL server not to handle larger values than that.id=1 Simon Mudd is right, but there are several things that must come together to make this bad:1.You must have a query that has an EXPLAIN which includes 'using temporary'. * * @author Michael Barker * */ public class My SQLBlob Bug This is an issue with the _server_, if server-side prepared statments are being used (and in this case they are). Assumes max_allowed_packet is * set to 1MB in the My SQL configuration file.
I have attached some Java code that demostrates the bug: ------ import It does not make any difference whether the value is being concatenated into a field, or updated, or inserted in any other way; if the result exceeds max_allowed_packet, it is considered an error.