sql >> Databasteknik >  >> RDS >> Mysql

Problem med att lagra stora nummer i mysql DB

Du använder tydligen PHP för att generera det ID:t.

Eftersom du inte nämnde vad som exakt händer, kan jag bara anta vissa orsaker till din databasdesign.

Först och främst kan du lagra det numret som bigint och inte varchar . Det är ett heltal du sparar, jag ser ingen anledning till varför du skulle använda varchar och i sig slösa mer utrymme än nödvändigt.bigint använder 8 byte för att lagra ett nummer. Det betyder att varje nummer med mer än 8 siffror lagrade i varchar-fältet skulle använda mer utrymme än en bigint fält som kan lagra nummer upp till 2^64.

För det andra, se till att du inte använder någon sifferformatering innan du skickar resultatet av din beräkningsoperation till db. Jag kopierade/klistrade in heltal du postade (10000000754987) och php konverterar det inte automatiskt till vetenskaplig notation så min gissning är att du har något annat på gång där i bakgrunden med den siffergenereringen - stäng av det om möjligt och lagra nummer i lämplig fälttyp (bigint). Det skulle också vara användbart om du publicerade ytterligare information om din app och vad den gör, eftersom fel inte alltid finns där människor har det.



  1. MySQL-referens för främmande nyckel

  2. Visa SQL-felmeddelande

  3. PHP:Sortera MySQL-resultat till flerdimensionell array

  4. Hur beställer man en MySQL-fråga efter en specifik kolumn?