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 نیارمش)
ممنون میشم کمکم کنید خیلی کارم گیره
من میخوام یک 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 نیارمش)
ممنون میشم کمکم کنید خیلی کارم گیره