【发布时间】:2018-02-25 23:43:29
【问题描述】:
我想制作一个应用程序来将手写的纸质合同保存在我的数据库中。每份合约都有超过 60 个值要保存。我已经用 15 个带有主键和外键的表创建了数据库。我的问题是使用一个过程或多个查询来保存所有这些数据的最佳方法是什么。
我尝试的是创建一个存储过程并将所有这些值作为参数传递。然后在我调用并传递所有值的 php 中执行一个查询,如下所示:
CALL SaveContract(11111, "Name", "Surname", 22222, "User", "Password", 'm', "2017-09-06", "norm", "sup", "asac", 29, 5, 7, 125, 3, 123456, 456789, "kiss", "bot", 123, "en", "ram", 33333, "aaaaa", "bbbb", 'm', "2017-09-12", "ccccc", "dddddd", null, null, null, null,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null , 1,null , 1, null,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null ,null , 10, '["","",""]')
虽然我在运行此过程时遇到错误(#1436 - 线程堆栈溢出),但解决此错误并不是本问题的目标。
将所有参数传递给存储过程会很好。
我正在尝试找到一种在存储过程中一次执行所有操作的解决方案,也许进行多个 INSERT 查询更简单,但可能有更好的方法
【问题讨论】:
-
你需要15张桌子吗?
-
不,我需要将合同值保存在我的数据库中,该数据库有 15 个表和所有这些值的字段。我的问题是我不知道如何更好地保存所有这些值,可能使用一个查询调用存储过程并将所有值作为参数传递,而不是使用过程登录来保存所有数据,但我收到错误 #1436 - 线程堆栈超限
-
@MarkBannister 不,它不是重复的,我正在尝试创建一个存储过程并将 60 多个参数传递给它,然后我将值保存在我的数据库表中,我的问题是怎么做当我有这么多值时,这是正确的,使用存储过程很好,或者有更好的方法
-
@MarkBannister 我稍微编辑了我的问题,我的问题是找到保存超过 60 个值的合同的最佳方法
-
编辑问题以强调解决错误不是重点。
标签: php mysql sql mysqli phpmyadmin