Link to home
Start Free TrialLog in
Avatar of Matb396
Matb396

asked on

Wrong Data type

Hi

I have a program that works off an SQL Server, I just lern that one of the primary key need to go bigger. The key is data type Int, and max size of an int is 2147483647 however the program now needs to go higher, asin to about 10 time that.

What the easiest/best way to correct this?

Cheers

Matt
ASKER CERTIFIED SOLUTION
Avatar of Lee
Lee
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Matb396
Matb396

ASKER

Am i right in thinking that ever SQL statement which contain this field has to be change?


 any other ideas?
No, not unless it relies on it being an int field.

Back your database up, test it and then if it fails for any reason, restore it and rethink.
The page I gave as an example performs sums on the data in the table which returns integers that are larger than the int range. You're table has an ID that is exceeding the range and I doubt you're doing sums on that ID number.

You may have to alter the stored procedure that generates the ID's as this will possibly have an integer variable which will need to be changed to a bigint.

Lee
Any ta bles that reference that primary key will also have to be changed to bigints.
Avatar of Matb396

ASKER

ok thanks giving it ago now however the change of each table is taking its time...
It will take a very long time.  As a stop gap method until you get it resolved, consider resetting the IDENTITY Seed to -2147483648.
acperkins is suggesting that you reset the seed to generate Negative numbers...
the actual range of an integer is -2 billion to + 2 billion

I wasn't sure given the way his solution appears to flow on my screen if that was apparent to you.

if your applications can handle negative numbers then that should allow you much more time to
consider how you want to handle the extended range requirement, and all the changes that maybe required
in your systems....

however you may find that part of your systems fail because they aren't expecting negative ids...

do you also need to step back and consider other design factors if the eventual database is going to be
 

10+ times bigger than originally designed for?

changing/choosing  the datatype is possibly a minor decision compared to the other scale factors
you now need to consider...