سؤال

أحاول إضافة تسلسل العلامات إلى موضوعات قائمة. لن أجعل فريدة من نوعها 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 ...
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top