I definitely misunderstood what you guys are saying about the length.
That's clearly a problem for a lot of my values.
I can switch them both to bigint. One table has 34,000,000 records
and it's OK if this is hung up for a few minutes but not much longer
than that - any chance this change might take longer than 5 or 10
minutes?
On Oct 5, 2007, at 5:43 AM, Richard Davey wrote:
Hi Brian,
Friday, October 5, 2007, 1:28:35 PM, you wrote:
This is indeed the complete code, I did not cut anything out for
brevity, which is why this appears to be so impossible.
eAccelerator is activated, could something be corrupt? Could a
corrupt index cause this?
In table1, `referer` is int(12).
In table2, `data` is text
In table2, `friend_id` is mediumint(9) - which I see is a problem in
some cases, $referer can (rarely) be 10 digits long, so I just
changed it to int(12)
The number in () after the int doesn't apply to the number of digits
it can contain. A mediumint field will never hold a value above
16,777,215 assuming you are using an unsigned field, otherwise the
limit is a mere 8,388,607 - neither of which are big enough to hold
the
value you're trying to put into it (69,833,818)
An unsigned int field MAY be enough, the limit being 4,294,967,295 -
but if you've got a 10 digit value LARGER than this, it'll still fail.
Meaning you either need to use a bigint field, or rethink how you are
storing these values in the first place.
Cheers,
Rich
--
Zend Certified Engineer
http://www.corephp.co.uk
"Never trust a computer you can't throw out of a window"
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php