mysql - #1064 - 你的 SQL 语法有错误

标签 mysql

我已经有一个包含列 name(String)、id(int)、age(int) 的表 employee。 我不知道语法哪里错了?

CREATE PROCEDURE recins (
    name1 IN employee.name%type ,
    id1 IN employee.id%type ,
    age1 IN employee.age%type
) AS
BEGIN
    INSERT INTO employee VALUES(name1,id1,age1);
END;

最佳答案

create table employee2
(
    name varchar(100) not null,
    id int not null,
    age int not null
);


DELIMITER $$
CREATE PROCEDURE recins (
    IN name1 varchar(100),
    IN id1 int,
    IN age1 int
)
BEGIN
    INSERT INTO employee2 (name,id,age) VALUES(name1,id1,age1);
END $$
DELIMITER ;

-- test:
call recins('a',1,2);

分隔符是存储过程、事件、函数的特殊包装器。存储过程末尾的 Delimiter ; 将其设置回分号的正常/默认定界符。

以上内容经过测试

关于mysql - #1064 - 你的 SQL 语法有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813173/

相关文章:

php - SQLSTATE[HY000] [2002] php_network_getaddresses : getaddrinfo failed

mysql - 如何计算MySQL中每个组的运行总和

php - 无法跳转到第 8 行 .../tag.php 中 MySQL 结果索引 6 上的第 0 行

php - 带有逗号分隔值的 Codeigniter Mysql 列

mysql - 比较日期查询的性能

PHP/SQL - 无法打开流 : No such file or directory

mysql - mariadb 官方 docker 图像上的 InnoDB 错误

mysql - 通过 Linux 命令行连接到 SphinxQL

mysql - bash 如何将 for 循环输出打印成一行?

MYSQL 在按另一列排序的列中选择特定数量的重复值