我是mySQL的初学者,我想在一个表中编辑外键,其中的函数搜索引用表并返回我需要的键。下面是我写的代码。我想连接一个带博物馆的桌子和一个带城市的桌子,问题是当它通过编译时它没有插入我的表格
delimiter //
CREATE FUNCTION get_museum_id(i_city_name varchar(32))
returns integer
READS SQL DATA
BEGIN
declare v_museum_id int;
select `Museum_ID` from `db_test`.`museums`
where `Name` = i_city_name into v_museum_id ;
return v_museum_id;
END;
//
delimiter ;
INSERT INTO `db_test`.`capitals` (`ID`, `City`,`Museum_ID`)
values
(null, 'Athens', get_museum_id('Athens') );