Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储过程:如何插入关系数据?_Php_Mysql_Sql - Fatal编程技术网

Php 存储过程:如何插入关系数据?

Php 存储过程:如何插入关系数据?,php,mysql,sql,Php,Mysql,Sql,如何将插入的值id插入到存储过程同一函数中的其他表中 例如: CREATE PROCEDURE p1(IN id_val INT, IN name_val VARCHAR(255)) BEGIN DECLARE @iJobID [INT] SET @iJobID=(INSERT INTO test(id, name) VALUES(id_val, name_val)); INSERT INTO vasu(id) VALUES(@iJobID); END; 您可

如何将插入的值id插入到存储过程同一函数中的其他表中

例如:

CREATE PROCEDURE p1(IN id_val INT, IN name_val VARCHAR(255))
    BEGIN
    DECLARE @iJobID [INT]
    SET @iJobID=(INSERT INTO test(id, name) VALUES(id_val, name_val));
    INSERT INTO vasu(id) VALUES(@iJobID); 
END;

您可以使用
LAST\u INSERT\u ID()

DELIMITER $$

CREATE PROCEDURE p1 
(
    IN id_val INT, 
    IN name_val VARCHAR(255)
)
BEGIN

    INSERT INTO test(id, name) VALUES(id_val, name_val);
    SET @iJobID :=  LAST_INSERT_ID();
    INSERT INTO vasu(id) VALUES(@iJobID); 

END $$

DELIMITER ;

那么你的问题是什么?这不起作用吗?不,它不起作用,你能给我举个例子吗?错误消息告诉了您什么?嗨,罗兰,这是我收到的错误消息::(存储过程创建失败:(1064)您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解在'@iJobID[INT]SET@iJobID=(插入到测试(id,name)值中)附近使用的正确语法(第3行的id_val,name_va'失败:(1305)过程jv_phpclasses.p1不存在)您想在这一行上得到什么?
SET@iJobID=(插入测试(id,name)值(id_val,name_val));
Hi JW其插入“0”值插入vasu(id)值(@iJobID);您能否显示此查询的结果
DESC test
,这将显示表的结构
test
这是表“test”的结构:id int(11)主键名varchar(255)为什么您要用
id\u val
在该列
id
上设置一个值,而您的
id
列没有设置为
AUTO\u INCREMENT
?要正常工作,首先
id
应该设置为
AUTO\u INCREMENT主键
,然后在insert语句上它应该只设置为
insert INTO test(name)val(name\val);