|
Тема
|
запис на телефон в база данни
|
|
Автор |
nilam (непознат
) |
Публикувано | 28.07.08 16:16 |
|
Здравете!
Записвам телефонен номер с php и mysql в база, но нулите в началото на номера изчезват. Пробвах с различни формати на полето, но - все същото.
Някой може ли да ми помогне?
Редактирано от nilam на 28.07.08 16:17.
| |
Тема
|
Re: запис на телефон в база данни
[re: nilam]
|
|
Автор |
AйeзCeдaй ((бойна)) |
Публикувано | 28.07.08 16:29 |
|
Не, не сипробвал със всички.
Полето го направи varchar2, т.е текст. С определена големина разбира се. Примерно 50. Знам ли какви тел ще записваш....
| |
|
Има някакъв стандарт и той е под 20 - ама това са подробности разбира се.
Bеer? Mоre?
| |
Тема
|
Re: запис на телефон в база данни
[re: nilam]
|
|
Автор |
bira_more (бира) |
Публикувано | 28.07.08 18:18 |
|
инсърта трябва да е нещо от сорта:
$mynum = '0088216xxxxxxxxxx';
insert into creten set num = '$mynum';
Bеer? Mоre?
| |
Тема
|
Re: запис на телефон в база данни
[re: nilam]
|
|
Автор |
v45O (безинтересен) |
Публикувано | 29.07.08 17:10 |
|
Нулите може да си ги добавиш през php-то. Ако искаш нули полето трябва да е varchar или varchar2 за Oracle.
Идеята е полето да е цифрово а не varchar понеже как би индексирал avrchar поле.
Може разбирасе, но е доста бавничко когато натрупаш добро количество записи.
Затова ги разкарвай тези нули и после само си ги вади при разпечатка например :)
Слагай си полето да е number.
Освен това по стандарт телефоният номер не може да надвърля 12 цифри.Редактирано от v45O на 29.07.08 17:13.
| |
Тема
|
Re: запис на телефон в база данни
[re: v45O]
|
|
Автор |
headhunter (huntz orcxez) |
Публикувано | 30.07.08 13:52 |
|
Varchar също може се индексира с bTree*. Все пак дори стринговете подлежат на сортиране и може да е достатъчно бързо, ако са достатъчно кратки. А ако е по-дълъг от, да кажем 10 байта, може да ползва битмап индекс.
Не мога да се сетя повод да индексирам телефон... в смисъл, има ли случай да знаеш телефонния номер и да не знаеш човека, че да търсиш по телефон? Виж, ако става дума за търсене по кънтри или ареа код, там нещата са други..
General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!
| |
Тема
|
Re: запис на телефон в база данни
[re: headhunter]
|
|
Автор |
v45O (безинтересен) |
Публикувано | 30.07.08 16:33 |
|
Естествено, че може да се индексира и по varchar. Проблемът е колко големи ще станат индексите :)
Едно е да индексираш по varchar а друго по numeric. Начин да се индексира по varchar с bitmap не е идейно. Помисли какво би се случило с битмап индекс при 10000 различни номера.
Представи си, че натрупаш над 1000000 записа и се наложи да правиш справки за периода ...
Редактирано от v45O на 30.07.08 16:56.
| |
Тема
|
Re: запис на телефон в база данни
[re: v45O]
|
|
Автор |
headhunter (huntz orcxez) |
Публикувано | 31.07.08 10:26 |
|
Вярно.
Битмап индекса е по-добре да се използва ако варчаровете са ключ в някоя dictionary таблица.
За телефони, е-маил и подобни 'рандъмс' би било самоубийство .
General Protection Fault in module 0xDEEBAA. Рестартирайте държавата!
| |
Тема
|
Re: запис на телефон в база данни
[re: bira_more]
|
|
Автор |
O!Sag (гуулем гъзар) |
Публикувано | 26.10.08 23:31 |
|
Стандарта е за 13 символа, но не се спазва.
Особено в Германия, Австрия, тук там и още в БГ.
По темата: направи си типа на колоната CHAR, VARCHAR, BINARY, VARBINARY и ще се записват и нулите.
--
| |
|
|
|
|