?
Solved

Wrong Data type

Posted on 2011-09-02
9
Medium Priority
?
218 Views
Last Modified: 2012-06-21
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
0
Comment
Question by:Matb396
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 2
  • 2
  • +1
9 Comments
 
LVL 25

Accepted Solution

by:
Lee Savidge earned 2000 total points
ID: 36472232
0
 

Author Comment

by:Matb396
ID: 36472312
Am i right in thinking that ever SQL statement which contain this field has to be change?


 any other ideas?
0
 
LVL 25

Expert Comment

by:Lee Savidge
ID: 36472324
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.
0
Get 15 Days FREE Full-Featured Trial

Benefit from a mission critical IT monitoring with Monitis Premium or get it FREE for your entry level monitoring needs.
-Over 200,000 users
-More than 300,000 websites monitored
-Used in 197 countries
-Recommended by 98% of users

 
LVL 25

Expert Comment

by:Lee Savidge
ID: 36472345
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
0
 
LVL 25

Expert Comment

by:Lee Savidge
ID: 36472348
Any ta bles that reference that primary key will also have to be changed to bigints.
0
 

Author Comment

by:Matb396
ID: 36472406
ok thanks giving it ago now however the change of each table is taking its time...
0
 
LVL 75

Expert Comment

by:Anthony Perkins
ID: 36476535
It will take a very long time.  As a stop gap method until you get it resolved, consider resetting the IDENTITY Seed to -2147483648.
0
 
LVL 50

Expert Comment

by:Lowfatspread
ID: 36485054
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...

0
 
LVL 50

Expert Comment

by:Lowfatspread
ID: 36485069
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...
0

Featured Post

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It is possible to export the data of a SQL Table in SSMS and generate INSERT statements. It's neatly tucked away in the generate scripts option of a database.
In this blog post, we’ll look at how using thread_statistics can cause high memory usage.
This videos aims to give the viewer a basic demonstration of how a user can query current session information by using the SYS_CONTEXT function
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

752 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question