我有需要添加到数据库中的数据。数据如下所示:
Jim Jones 2009-01-01 Red
Susan Hoo 2009-01-04 Red
...
我正在为此编写一个过程但不知道如何循环它以便它插入所有行。有没有人可以告诉我的教程或其他东西让我入门?
由于
这是一个插入实时数据的过程,数据不在文件中。
答案 0 :(得分:1)
这实际上取决于您拥有数据的形式。如果您将其作为文本或CSV格式,则可以使用LOAD DATA INFILE
。但我不认为如果你把它全部放在一行就行了(很难从你的例子中说出来)。
否则,如果您需要以编程方式进行,如果您告诉我们您使用的是哪种语言,那将会有很大帮助。
修改 - 格式化效果更好。以下是LOAD DATA INFILE
:http://dev.mysql.com/doc/refman/5.1/en/load-data.html
编辑2 - 为了回应您的评论,用户插入新记录的界面是什么?
编辑3 - 好吧,如果你有一个GUI,他们将通过它插入一个记录,那么你不需要有一个for循环,因为大概一次只插入一个记录。忽略当前批处理的可能性,只要用户通过GUI指示他们想要提交他们的记录,就应该执行INSERT
。
答案 1 :(得分:0)
你听起来像个初学者,所以这是一个简单的答案。在开发工具中,按F1或从菜单中选择帮助,然后搜索:“for”,“while”,“do”,“until”或“loop”。这些是常见的循环关键字。
答案 2 :(得分:0)
您可能希望了解多维数组 - 假设您的输入存储在类似于此的多维数组中:
$myform = array(
0 => array(
"name" => "Jim Jones",
"date" => "2009-01-01",
"colour" => "red"
),
1 => array(
"name" => "Susan Hoo",
"date" => "2009-01-04",
"colour" => "red"
)
然后你可以做这样的事情:
for($x=0;$x<(sizeof($data_array));$x++) {
mysql_query("INSERT INTO your_db_table (
name,
date,
colour
) VALUES (
'$myform[$x][name]',
'$myform[$x][date]',
'$myform[$x][colour]'
)"
)
}
..请小心处理!虽然我在各种应用程序中使用类似的东西,但上面的编码没有经过测试,可能有一个或另一个bug。希望它无论如何都有帮助......:]