ورود

View Full Version : کمک در نوشتن یک query



barname_newis
جمعه 02 آبان 1393, 22:52 عصر
سلام خسته نباشید
من میخوام یک query mysql بنویسم که این کار رو انجام بده:
تمام رکورد های یک جدول رو که یه شرط خاص دارن رو یک کپی ازشون بگیره و یکی از فیلد هاش رو هم آپدیت کنه برای مثال رکورد هایی که مقدار فیلد language_id‌ اون ها برابر 1 هست رو کپی کنه و فیلد language_id‌ رکورد های کپی شده 3 بشه.
از این قطعه کد که میخوام الهام بگیرم :

INSERT INTO `dupe`
SELECT * FROM `dupe` WHERE `name`='bar'
این ارور رو میده :

[Err]1062-Duplicate entry '1'for key 'PRIMARY'

توجه : چون این عملیات به صورت اتوماتیک باید انجام بشه (یعنی روی تمام جدول ها باید کار کنه) من نمیتونم به صورت استاتیک موقع select نام فیلد ها رو بیارم و بنوسم select name,value,language_id ! بنابراین باید از همان * برای select استفاده کنم منتها یک تابع باید باشه که فیلد کلید اصلی رو فیلتر کنم و تو select نیارمش)
ممنون میشم کمکم کنید خیلی کارم گیره

us1234
دوشنبه 05 آبان 1393, 14:31 عصر
باید فیلد id را به صورت auto_increment کنید .
بعد کوئری به این شکل میشود :

INSERT INTO `dupe` (`id`, `name`)
SELECT NULL,`name` FROM `dupe` WHERE `name`='bar'