سلام
ی برای مثال دیتابیس دارم از لیست محصولات میخوام افزایش قیمت و کاهش قیمت رو توی یک لیست به کاربر نشون بدم میشه راهنمایی که با چه روش هایی میشه اینکارو کرد
ممنون از همه دوستان
@mohammad.edvard سلام .
تنها راه مناسب از نظر من ذخیره همون مقدار قبلی در فیلد جداگانه هست . مثلا oldprice و newprice .
راه دومی هم هست که توی یک فیلد ذخیره کنید اما پیشنهاد نمیکنم. اون هم ذخیره آرایه بصورت JSON در دیتابیس هست که بعدا برای سرچ و انجام عملیات مختلف روی داده ها با مشکل مواجه میشید.
درواقع الان که ی جدول رو تغییر دادم میخوام به اون مقدار قبلی هم دسترسی داشته باشم
ممنون میشم دوستان اطلاعی دارند بگن
@mohammad.edvard سلام .
تنها راه مناسب از نظر من ذخیره همون مقدار قبلی در فیلد جداگانه هست . مثلا oldprice و newprice .
راه دومی هم هست که توی یک فیلد ذخیره کنید اما پیشنهاد نمیکنم. اون هم ذخیره آرایه بصورت JSON در دیتابیس هست که بعدا برای سرچ و انجام عملیات مختلف روی داده ها با مشکل مواجه میشید.
میشه توی دیتابیس دستوری داد تا ی شرط مقایسه ای گذاشت مثلا oldprice کمتربود از newprice کل اونهایی این شرط رو دارن فراخونی بشن ؟
بله شما ساختار دیتابیس رو متناسب با سیستمی که میخوای طراحی کن.
بعدش هر کاری دلت بخواد میتونی کنی.
فقط دانش SQL میخواد که مطمئنا داری.
میشه توی دیتابیس دستوری داد تا ی شرط مقایسه ای گذاشت مثلا oldprice کمتربود از newprice کل اونهایی این شرط رو دارن فراخونی بشن ؟
بله . عملگر ها به همین دلیل وجود دارند . به همین دلیل هم عرض کردم مثلا اگر نیاز به دسته بندی و مقایسه دارید باید ستون های جدا در نظر بگیرید . چون زمانی که آرایه بخواید ذخیره کنید باید بصورت JSON encode کنید و چون بصورت رشته ذخیره میشه شما قابلیت های مثل مقایسه و طبقه بندی رو از دست خواهید داد .
فقط برای اطلاعات بیشتر مثالی میزنم که ملموس تر هست . شما اگر بخواین فاصله بین دو تاریخ رو در MYSQL حساب کنید شرط between رو میتونید بکار ببرید منتها در صورتی میتونید این کار رو بکنید که حتما فیلد تاریخ هاتون از نوع date تعریف شده باشه . اگر تاریخ بصورت string ذخیره شده باشه MYSQL نمیتونه تشخیص بده و عملا تمامی عملگر هایی که میتونید به کار ببرید کارایی نخواهد داشت .
آرزوی موفقیت و سلامتی دارم 🌹
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟