K@m@l نشر 3 ديسمبر 2015 أرسل تقرير نشر 3 ديسمبر 2015 على قاعدة بيانات من نوع Mysql تحتوي على أكثر من 14 مليون قيمة، أريد إدخال بعض القيم الجديدة، لكن ما أريده قبل ذلك هو التأكد من عدم وجود قيم مشابهة للجديدة، مما جعلني أفكر في استعمال not exisits لتفادي التكرار، فكيف أتمكن من استعمالها؟ اقتباس
0 E.Nourddine نشر 4 ديسمبر 2015 أرسل تقرير نشر 4 ديسمبر 2015 استعمل : INSERT IGNORE INTO table والتي مهمتها إدخال القيم في الجدول بعد التأكد من عدم وجودها سلفاً، وفي حالة وجود قيم سابقة تُلغى عملية إدخال القيم الحالية ليتم الانتقال إلى القيم التالية.مثال:إنشاء الجدول:CREATE TABLE `transcripts` ( `ensembl_transcript_id` varchar(20) NOT NULL, `transcript_chrom_start` int(10) unsigned NOT NULL, `transcript_chrom_end` int(10) unsigned NOT NULL, PRIMARY KEY (`ensembl_transcript_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;استعمال Insert Ignore Into Table:INSERT IGNORE INTO `transcripts` SET `ensembl_transcript_id` = 'ENSORGT00000000001', `transcript_chrom_start` = 12345, `transcript_chrom_end` = 12678;أيضا يمكن استعمال INSERT … ON DUPLICATE KEY UPDATE والتي من شأنها تغيير القيم في حالة تواجد قيمة شبيهة بها، وهذا مثال تطبيقي:INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1; UPDATE table SET c=c+1 WHERE a=1;في حال كانت قيم الحقول a,b,c هي 1,2,3 موجودة مسبقا في الجدول، سيتم تغييرها بإضافة 1 إلى قيمة الحقل c، وهذا ما تعنيه : ON DUPLICATE KEY UPDATE c=c+1; اقتباس
السؤال
K@m@l
على قاعدة بيانات من نوع Mysql تحتوي على أكثر من 14 مليون قيمة، أريد إدخال بعض القيم الجديدة، لكن ما أريده قبل ذلك هو التأكد من عدم وجود قيم مشابهة للجديدة، مما جعلني أفكر في استعمال not exisits لتفادي التكرار، فكيف أتمكن من استعمالها؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.