如何在MySQL中存储一个将ID从一个表插入到另一个表的过程?
如何在mysql中制作一个存储过程,该存储过程允许验证是否找到重复的数据,以及是否能够在两个相关的表中注册,否则只能在表中插入id?
如果在数据库中找不到cc并将其插入两个表中,则我有以下SQL脚本可以工作,但是如果cc变量在数据库中不起作用,谢谢
DROP PROCEDURE IF EXISTS `owners_add`;
DELIMITER $$
CREATE PROCEDURE owners_add(
IN `@name` varchar(35),
IN `@last` varchar(35),
IN `@cc` int(12),
IN `@cell_phone` varchar(15))
BEGIN
DECLARE id_people INT DEFAULT 0;
SET id_people=(SELECT id FROM people WHERE cc=@cc);
IF(id_people IS NULL) THEN
INSERT INTO people(name,last,cc,cell_phone)
VALUES(`@name`,`@last`,`@cc`,`@cell_phone`);
SET @ID = LAST_INSERT_ID();
INSERT INTO owners(id) VALUES(@ID);
ELSE
INSERT INTO owners(id) VALUES(id_people);
END IF;
END$$
答案 0 :(得分:0)
您可以设置最后一个插入ID,然后将最后一个插入ID用作第二个表中的值,例如..
设置o_maxId =(选择LAST_INSERT_ID());
插入第二个表名(列名,。,。,。)values(value1。,。,o_maxId);