یک جدول users با ستون id (INT PRIMARY KEY AUTO_INCREMENT)، name و email بسازید و سپس با استفاده از INSERT ... ON DUPLICATE KEY UPDATE و تابع سیستمی VALUES رکورد جدید اضافه یا در صورت وجود id تکراری مقادیر name و email را بهروزرسانی کنید.
8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:21 0.0
ابتدا جدول users را با ستونهای گفتهشده ایجاد کنید، سپس از یک عبارت INSERT ... VALUES با بخش ON DUPLICATE KEY UPDATE استفاده کنید و در بخش UPDATE از تابع سیستمی VALUES(column) برای ارجاع به مقدار ارائهشده در بخش VALUES استفاده کنید؛ برای مثال: INSERT INTO users (id,name,email) VALUES (1,'Ali','ali@example.com') ON DUPLICATE KEY UPDATE name=VALUES(name), email=VALUES(email). نکته: در نسخههای جدید MySQL استفاده از VALUES() در این زمینه ممکن است منسوخ باشد و میتوان از alias برای INSERT (مثل INSERT ... AS new ...) بهعنوان جایگزین استفاده کرد.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اضافه یا بهروزرسانی یک کاربر با کلید اصلی id میتوانید از INSERT ... ON DUPLICATE KEY UPDATE استفاده کنید و در بخش UPDATE مقادیر جدید را به name و email نسبت دهید. در نسخههای قدیمیتر MySQL از تابع VALUES(col) برای ارجاع به مقدار ارائهشده در بخش VALUES استفاده میشد. اما در نسخههای جدید این تابع منسوخ شده است. بهتر است از alias برای INSERT استفاده کنید؛ برای نمونه INSERT INTO users (id, name, email) VALUES (1, 'Ali', 'ali@example.com') AS new ON DUPLICATE KEY UPDATE name = new.name, email = new.email. این روش هم مقادیر ورودی را حفظ میکند و هم از بروز خطاهای کلید تکراری جلوگیری میکند، اما در هنگام استفاده باید نسخه MySQL را در نظر بگیرید.
گزارش