এটি মূলত যা হয়
এটি ভুল সিনট্যাক্স যার ফলে মাইএসকিউএলকে ভাবতে শুরু করে যে আপনি কোনও কলাম বা পরামিতি দিয়ে এমন কিছু করার চেষ্টা করছেন যা ভুল টাইপ "ডাবল" রয়েছে।
আমার ভুল থেকে শিখুন
আমার ক্ষেত্রে আমি ভেরচার কলামটি একটি টেবিল সেটিংয়ে আপডেট করেছি NULLযেখানে মানটি 0দাঁড়িয়েছিল। আমার আপডেট ক্যোয়ারীটি এরকম ছিল:
UPDATE myTable SET myValue = NULL WHERE myValue = 0;
এখন, যেহেতু এর প্রকৃত ধরণটি myValueহ'ল VARCHAR(255)সতর্কতা দেয়:
+---------+------+-----------------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'value xyz' |
+---------+------+-----------------------------------------------+
এবং এখন myTableব্যবহারিকভাবে খালি, কারণ myValueএখন NULLটেবিলে প্রতিটি রো-র জন্য! এটা কিভাবে হল?
* অভ্যন্তরীণ চিৎকার *
30k এর বেশি সারিতে এখন ডেটা নেই।
* অভ্যন্তরীণ চিৎকার আরও তীব্র করে *
ব্যাকআপের জন্য শুভতা ধন্যবাদ। আমি সমস্ত ডেটা পুনরুদ্ধার করতে সক্ষম হয়েছি।
* অভ্যন্তরীণ চিৎকারের তীব্রতা কমিয়ে দেয় *
সংশোধিত ক্যোয়ারীটি নিম্নরূপ:
UPDATE myTable SET myValue = NULL WHERE myValue = '0';
^^^
Quotation here!
আমি আশা করি এটি কেবল একটি সতর্কতার চেয়ে বেশি ছিল তাই এই উক্তিগুলি ভুলে যাওয়া কম বিপজ্জনক।
* অভ্যন্তরীণ চিৎকার শেষ করুন *