我是一个数据库菜鸟。
我正在构建一个包含大量属性的数据库。
我想让属性(property)所有者(用户)可以通过仅调用函数/存储例程/存储过程/准备语句(我用谷歌搜索它们)将他/她的属性(property)提交到我的 property
表,但很难弄清楚我在找什么)。
这是我的插入查询代码:
INSERT INTO property
(property_owner_id, property_type_id, address, zip_code, area_m2, price_€)
VALUES
(/* Owner ID */,/* Property Type ID */,/* Address */,/* Zip Code */,/* Area */,/* Price */);
所以我想创建一个类似 submit
函数的东西,我可以存储它。
然后,业主只需要做类似的事情:
submit(his id, his property's type, address, zip code, area, price)
我正在搜索答案,我看到了带有“@”的东西,但有时我没有。
我也不太了解整个“函数/存储例程/存储过程/准备好的语句”。
它似乎也随着语言的变化而变化。
在某些示例中,我需要事先设置变量/参数。在其他人中我没有。
我刚开始学习 SQL。我知道数据库的一般工作原理。
我知道如何创建表、更新表、插入数据、创建主键和外键。
我知道如何使用连接、左连接、交叉连接等以及 where、having、order by、group by 等命令查询数据。
但就目前而言,我真的不明白如何制作一个可重用的代码块,我可以在其中调用它的名称,并仅插入变量/参数。
如果有帮助,我正在使用带有 UwAmp 的 MySQL Workbench 6.2.5。
谢谢!
最佳答案
您可能已经了解了存储过程,但也许这 link很有帮助。
针对您的问题: 您需要一个在调用时可以接受参数的过程。
CREATE PROCEDURE addtoproperty(
IN ownerid INT,
IN propertytype INT,
IN adress VARCHAR,
IN zipcode INT,
IN area VARCHAR,
IN price DECIMAL(15,2)
)
BEGIN
INSERT INTO property
(property_owner_id, property_type_id, address, zip_code, area_m2, price_€)
VALUES
(ownerid,propertytype, adress, zipcode, area, price);
END;
您可以将此过程与以下语句一起使用。这次您需要将文本替换为具有实际值的文本。所以 ownerid 类似于 12345。
CALL addtoproperty(ownerid,propertytype, adress, zipcode, area, price);
关于mysql - 如何使用用户提交的变量进行查询并保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55451740/