我在数据库中有一个表tags
,我想创建一个基于添加值的查询,如果name
标签不存在,下一个选定的 ID 以及名称是否存在选定的标签 ID
我创建了一个简单的代码:
DELIMITER $$
USE `cc`$$
DROP FUNCTION IF EXISTS getTagId$$
CREATE FUNCTION getTagId (tag CHAR(20)) RETURNS INT CHARSET utf-8
BEGIN
DECLARE id INT
set @id = (select id from tags where name = @tag)
if (@id is null) then
insert into tags(name) values(@tag)
set @id = (select last_insert_id())
end if
SELECT @id
END
delimiter;
但是这段代码不起作用(这是我在 MySQL 中的第一个函数)。
我想在单个查询中向数据库添加更多标签,然后是 10 个,您对如何优化有任何想法吗?