BIGINT в MySQL
Действительно ли, что для ввода чисел в SQL запросе, которые в php храняться как hex строка ($int="FF"), нужно использовать констукцию SELECT 0xFF+0 ? Попроще может что есть?
Если "+0" не приписать, то мыскль посчитает это за строку, а не число.
Мне собственно надо половину md5 загнать в primary key (BIGINT - 64 битное число) при добавлении нового URL в базу. Чтобы один адрес не более 1 раза в базе хранить. Жаба душит делать отдельную колонку или индексировать сам URL. И уж тем более не проверять полным перебором WHERE url=$url по огромной таблице.
function url2id($url) {
return '0x'.substr(md5($url),0,16).'+0';
}
У мыслкя не возникнет проблем с индексом, если primary key это bigint, а сами ключи - случайные числа?
Действительно ли, что для ввода чисел в SQL запросе, которые в php храняться как hex строка ($int="FF"), нужно использовать констукцию SELECT 0xFF+0 ? Попроще может что есть?
Если "+0" не приписать, то мыскль посчитает это за строку, а не число.
Мне собственно надо половину md5 загнать в primary key (BIGINT - 64 битное число) при добавлении нового URL в базу. Чтобы один адрес не более 1 раза в базе хранить. Жаба душит делать отдельную колонку или индексировать сам URL. И уж тем более не проверять полным перебором WHERE url=$url по огромной таблице.
function url2id($url) {
return '0x'.substr(md5($url),0,16).'+0';
}
У мыслкя не возникнет проблем с индексом, если primary key это bigint, а сами ключи - случайные числа?