mysql - 存储过程无法识别参数。我的代码有什么问题?

标签 mysql sql database database-design mysql-workbench

我正在创建一个存储过程以将数据插入到三个不同的表中。
这是我的代码:

/*------------------------- Procedure for owner to submit his property -------------------------*/
DELIMITER //
CREATE PROCEDURE SubmitProperty (
    IN input_property_owner_id INT,
    IN input_property_type_id INT,
    IN input_address VARCHAR(255),
    IN input_zip_code VARCHAR(255),
    IN input_area_m2 INT,
    IN input_price_€ INT      
)
BEGIN
    INSERT INTO property (property_owner_id, property_type_id, address, zip_code, area_m2, price_€)
    VALUES
        (input_property_owner_id, input_property_type_id, input_address, input_zip_code, input_area_m2, input_price_€);

    INSERT INTO survey (property_id, cas_eval_id, checksum_xxx)
    VALUES
        (property.id, 'CAS-XXX-YYYY', property.id % 1000);

    INSERT INTO survey_question_answer (survey_id, question_id)
    SELECT property_type_question.question_id
    FROM property_type_question
    WHERE property_type_question.property_type_id = input_property_type_id
    VALUES
        (survey.id, property_type_question.question_id);
END //
DELIMITER ;

前 2 个插入正常工作。
但是,我在第三次插入时出错(在最后一个“FROM”和“VALUES”之间的区域周围)。
这是错误消息的图片:
enter image description here 你们能帮我解决这个问题吗?
谢谢!

最佳答案

是否是因为您试图插入两列,但只选择了一列?

INSERT INTO survey_question_answer (survey_id, question_id)
SELECT property_type_question.question_id

关于mysql - 存储过程无法识别参数。我的代码有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55479192/

相关文章:

mysql - 安装mysql时cmake不起作用

MySQL: "CREATE DATABASE"导致 MySQL 错误代码:1064

mysql - 创建存储过程时出错

mysql - 如何在多列上执行 SELECT(例如 2)?

mysql - 数据库设计——主键命名约定

java - 适用于多种数据库类型的 Liquibase 二进制数组

php - 从复杂的 MySQL 选择查询中删除重复项

mysql - 计算mysql中的第n级子元素

sql - 从日期到日期获取sql中的数据

mysql - 如何将一个表中的值插入到另一个表中?