SQL Insert: تخطي القيم الحاضرة AllReady
-
29-09-2019 - |
سؤال
أحاول إضافة تسلسل العلامات إلى موضوعات قائمة. لن أجعل فريدة من نوعها tag
حقل العمود لأنني قد يكون لدي نفس التكرار اعتمادًا على لغة المستخدم كما في المثال
table_houses
id name location
1 Victoria's Home New York
2 Black Mesa Lab New Mexico
3 Tube London
table_tags
id tag id_subjects language
1 garage 1 it
2 garage 2 fr
3 research 3 en
4 lab 3 en
5 laboratorio 3 it
6 garage 1 it <== how to avoid this duplicated INSERT like first row?
لقد رأيت بعض الأمثلة حيث يستخدم الناس INSERT IGNORE INTO
بيان لكنني حصلت عليه فقط مع أعمدة فريدة ويتم استخدامها لتخطي الأخطاء المكررة.
هل توجد طريقة لتخطي العلامات المكررة لنفس اللغة فقط؟
المحلول
تحتاج إلى إنشاء مفتاح فريد على كل من العلامة واللغة.
alter table table_tags add unique(tag, language);
ثم يمكنك استخدام
insert ignore into ...
لا تنتمي إلى StackOverflow