【发布时间】:2015-06-22 15:00:53
【问题描述】:
我对 MySQL Perl DBI 有点吃不消。我已经搜索过,一次只能找到一半的答案,我不知道如何结合我所知道的来得到正确的答案。
我有几个数据库,一个是父数据库:
mysql> desc records;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| File_Id | int(11) | NO | PRI | NULL | auto_increment |
| fname | varchar(59) | YES | | NULL | |
| type | varchar(3) | YES | | NULL | |
| n1size | int(11) | YES | | NULL | |
| downdate | date | YES | | NULL |
mysql> desc mhqc;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| MQ_Id | int(11) | NO | PRI | NULL | auto_increment |
| fieldnum | tinyint(4) | YES | | NULL | |
| result | varchar(10) | YES | | NULL | |
| File_Id | int(11) | YES | MUL | NULL | |
+----------+-------------+------+-----+---------+----------------+
记录已填写,我想将记录添加到 mhqc。我把我的 SQL 语句弄得一团糟!
我需要插入的变量(为简单起见定义)是:
my @fields = (1..41); # this is for the fieldname column
my @results # 41 elements, contains results of checks performed on the fields 1-41
所以,我想遍历结果/字段的数量:
INSERT INTO mphqc (MQ_Id, fieldname, result, File_Id) values (NULL, ?, ? ...
...我在这里卡住了。我显然需要包含某种选择语句,如下所示,以将所有内容联系在一起
SELECT File_Id from records where fname = \'$in_file';
当需要将 File_Id 记录在子表中时,我只是找不到如何做。感谢您的帮助! :)
【问题讨论】: