თუ მთელი რიცხვი აღემატება გარკვეულ მნიშვნელობას, თქვენ მიიღებთ ამ შეცდომას
- არითმეტიკული გადადინების შეცდომის გამოსასწორებლად, თქვენ უნდა გადაიყვანოთ შედეგები int-დან დიდ int მონაცემთა ტიპზე.
- ალტერნატიულად, შეცდომის თავიდან აცილების მიზნით, შეგიძლიათ გადაიყვანოთ მთელი სვეტი დიდ int ტიპზე.
არითმეტიკული გადასასვლელის შეცდომა გამონათქვამის მონაცემთა ტიპად int კონვერტაციისას არის SQL შეცდომა და თუ ეს მოხდება, თქვენი მოთხოვნა არ შესრულდება, რაც ხელს შეგიშლით თქვენი მონაცემების მიღებაში.
შედეგად, თქვენი აპის გარკვეული ნაწილები არ იმუშავებს გამართულად და ამან შეიძლება გამოიწვიოს დამატებითი პრობლემები. ამიტომ, მნიშვნელოვანია ამ პრობლემის დაუყოვნებლივ გამოსწორება და ამ სახელმძღვანელოში ჩვენ გაჩვენებთ ამის საუკეთესო გზებს.
რა არის არითმეტიკული გადასასვლელი შეცდომა გამონათქვამის გადაყვანისას მონაცემთა ტიპად int?
ეს შეცდომა მიუთითებს იმაზე, რომ SQL მნიშვნელობა ძალიან დიდია და მისი დამუშავება შეუძლებელია მონაცემთა მთელი რიცხვის ტიპით. თუ თქვენი მნიშვნელობა 2,147,483,647-ზე მეტია, მონაცემთა მთელი ტიპი ვერ შეძლებს მის დამუშავებას და თქვენ მიიღებთ ზემოხსენებულ შეცდომას.
როგორ დავაფიქსირო არითმეტიკული გადადინების შეცდომა გამონათქვამის გადაყვანისას მონაცემთა ტიპად int?
1. გადაიყვანეთ მნიშვნელობა bigint-ად
- გახსენით თქვენი კოდი.
- გამოიყენეთ შემდეგი კოდი:
SELECT SUM(CAST(balance AS bigint)) FROM Accounts;
- Ცვლილებების შენახვა.
CAST ბრძანებით, თქვენ გადააქცევთ შედეგებს მთელი რიცხვიდან დიდ რიცხვით მონაცემთა ტიპად.
2. შეცვალეთ მთელი სვეტი
- გახსენით SQL გარსი.
- ახლა გაუშვით შემდეგი ბრძანებები:
ALTER TABLE your_table_name
ALTER COLUMN balance BIGINT;
- Ცვლილებების შენახვა.
ამ ბრძანებების გამოყენებით, თქვენ შეცვლით მთელი სვეტის მონაცემთა ტიპს int-დან დიდ int-მდე, რითაც გაზრდით მაქსიმალურ მხარდაჭერილ მნიშვნელობას.
- შესწორება: Hulu შეცდომის კოდი P-DEV317
- Disney Plus No Valid Bitrates შეცდომა: როგორ სწრაფად გამოვასწოროთ იგი
- შესწორება: ჩვენ ვერ ვამოწმებთ თქვენს ელფოსტას ახლა Hulu შეცდომა
- Hulu ვებგვერდი მიუწვდომელია: როგორ გამოვასწოროთ ეს შეცდომა
- შესწორება: ჩამოტვირთვა შეუძლებელია, გთხოვთ, სთხოვეთ, რომ ის გამოგიგზავნოთ WhatsApp-ის შეცდომა
3. ჩაანაცვლეთ რაოდენობა count_big-ით
- გახსენით თქვენი კოდი.
- შემდეგი, იპოვნეთ დათვლის ხაზი, ის ასე უნდა გამოიყურებოდეს:
count(*) as count
- შეცვალეთ იგი შემდეგით:
count_big(*) as count
- შეინახეთ ცვლილებები.
არითმეტიკული გადადინების შეცდომა გამონათქვამის გადაყვანისას მონაცემთა ტიპად int, განცხადება შეწყვეტილია შეცდომა გამოიწვევს თქვენი აპლიკაციის ავარიას, რადგან თქვენი ცვლადები ძალიან დიდია, მაგრამ ეს შეიძლება ადვილად მოგვარდეს მათი კონვერტაციით.
სერვერის შეცდომები შეიძლება სერიოზული იყოს და ჩვენ უკვე დავფარეთ 0x80040e14 SQL სერვერის შეცდომა ჩვენს ერთ-ერთ ადრინდელ სახელმძღვანელოში. შეუთავსებელმა ოპერაციულმა სისტემამ ასევე შეიძლება გამოიწვიოს პრობლემები SQL-თან და ბევრმა მომხმარებელმა განაცხადა, რომ ეს ოპერაციული სისტემა არ არის მხარდაჭერილი SQL Server-ის მიერ შეტყობინებები.
ამ შეცდომებმა ზოგჯერ შეიძლება გამოიწვიოს მონაცემთა ბაზის გაფუჭება და თუ ოდესმე შეგხვდებათ ეს პრობლემა, ჩვენ გვაქვს სახელმძღვანელო, თუ როგორ SQL Server-ში დაზიანებული მონაცემთა ბაზის შეკეთება.
ოდესმე შეგხვედრიათ SQL Server-ში არითმეტიკული გადადინების შეცდომა მონაცემთა ტიპის int-ად გადაქცევისას და როგორ გამოასწორეთ იგი? შეგვატყობინეთ ქვემოთ მოცემულ კომენტარებში!