У меня есть база данных mySQL, которая выглядит так:
CREATE TABLE gif (
id varchar(32),
filename varchar(32),
PRIMARY KEY (id)
);
CREATE TABLE tag (
id int NOT NULL AUTO_INCREMENT,
tag varchar(32) NOT NULL UNIQUE,
PRIMARY KEY (id)
);
CREATE TABLE gif_tag (
gif_id varchar(32),
tag_id int,
FOREIGN KEY (gif_id) REFERENCES gif(id),
FOREIGN KEY (tag_id) REFERENCES tag(id),
primary KEY (gif_id, tag_id)
);
Я бы хотел, чтобы, когда пользователь загружает гифку и присваивает ей теги, я вставляю ее в базу данных следующим образом:
-
INSERT INTO gif VALUES('someUID', 'fileName.gif');
INSERT IGNORE INTO tag (tag) VALUES ('Kitten'), ('Skateboarding'), ('Rainbows');
INSERT IGNORE INTO gif_tag (gif_id, tag_id)
VALUES (1, "someUID"), (2, "someUID"), (2, "someUID");
-- where 1, 2, 3 are the ids respectively assigned in step 2
Есть ли способ сделать так, чтобы оператор 2 вернет tag_id для каждого элемента, чтобы я мог использовать их на шаге 3?