Autor | Zpráva | ||
---|---|---|---|
CATerPILAR Profil |
#1 · Zasláno: 16. 7. 2008, 15:26:29 · Upravil/a: CATerPILAR
Zdravím všechny, dostal jsem k rukám databázi ve které nejsou ID jako int čísla, ale jsou ve tvaru 3e80614c36d47. Jde to nějak převést na původní desítkovou soustavu?
A vadí to vůbec něčemu když je to takhle? Web normálně funguje. |
||
Kcko Profil |
#2 · Zasláno: 16. 7. 2008, 15:29:25
Nevadi to nicemu ... je to delsi, min citelne a zabira to o neco vic mista , ale jinak je to uplne jedno ... klidne to nech
|
||
Joker Profil |
#3 · Zasláno: 16. 7. 2008, 15:30:22
CATerPILAR
Jestli je to šestnáctkové číslo, není celkem problém ho převést na desítkové. Resp. tady může být problém v tom, že ta výsledná čísla budou strašně vysoká, například 3e80614c36d47 = 1 099 537 745 931 591 |
||
CATerPILAR Profil |
#4 · Zasláno: 16. 7. 2008, 15:37:43
Díval jsem se do DB a to id není jako INT ale je to vedeno jako varchar(14)... přecházíme na Ruby hosting a oni to chtěj mít jako čísla. Půjde to?
|
||
Joker Profil |
#5 · Zasláno: 16. 7. 2008, 16:07:18
CATerPILAR
Šlo, ale ne jako INT, do INT se nevejde ani to číslo napsané v prvním příspěvku. Ale BIGINT by šel, 14-místné šestnáctkové číslo může totiž obsahovat maximální hodnotu něco přes 72 biliard (= 72 * 10^15), na což by BIGINT stačil. Nicméně pochybuju o tom, že by takováhle šílená hausnumera byla k něčemu potřeba jako identifikátor prvků- opravdu se celkový počet záznamů v databázi alespoň řádově přiblíží číslu 10^17? Podle mě by bylo možná výhodnější to konvertovat, tj. přidat něco jako nove_ID, což by bylo normální číslo, přidělit všem záznamům nová ID a následně provázat tabulky pomocí těch nových ID. |
||
CATerPILAR Profil |
#6 · Zasláno: 16. 7. 2008, 16:17:51
Udělám to tak nějak. Prvně si ale očíhnu jestli nejsou tyhle IDčka v jiných tabulkách jako cizí klíče atd.
|
||
Časová prodleva: 16 let
|
0