Я пытаюсь пропустить INSERT
в конкретном случае, когда одно из двух задействованных значений является конкретным значением:
// this can work if Beech allready exists
INSERT IGNORE INTO my_table (col_wood_name, col_type)
VALUES ("Beech", 0)
// this should be skipped if Beech allready exists with col_type = 1
INSERT IGNORE INTO my_table (col_wood_name, col_type)
VALUES ("Beech", 1)
my_table:
id col_wood_name col_type other_column_1 other_column_2 etc_cols
1 Beech 0 ... ... ...
2 Fir 0 ... ... ...
3 Beech 1 ... ... ...
4 Pine 1 ... ... ...
5 Beech 1 // here is my problem, how can I avoid to insert a tree if col_type == 1?
6 Beech 0 // it's ok because col_type == 0
как мне избежать вставки имени дерева, если col_type
== 1?
Я знаю, что могу создать уникальный ключ для col_wood_name
и col_type
, используя что-то вроде:
ALTER TABLE my_table ADD UNIQUE(col_wood_name, col_type);
но это неполно, потому что это должно работать, только если col_type
равно 1
, как я могу это решить?