插入多个记录一个查询

时间:2014-11-28 09:02:14

标签: php mysql

我正在努力解决我现在已经过了2天的问题。但是取得了任何成功

我想创建一些人们可以跟踪他们进度的东西,所以如果有人“创造进度”,需要从数据库中选择某些信息并将其插入到其他表中。

现在我明白了:

ID | ITEM       | MOBNAME | GAME | LOG_ID | LOG_NAME

1  | test test3 | spider  | TEST |    1   |  just a test

如您所见,我需要彼此之间的COLUMN item而不是一行。像这样:

ID | ITEM   | MOBNAME | GAME | LOG_ID | LOG_NAME

1  | test   | spider  | TEST |    1   |  just a test
1  | test3  | spider  | TEST |    1   |  just a test
1  | test4  | spider  | TEST |    1   |  just a test

这是我目前选择和插入的代码:

$sql = "INSERT INTO log_create(`name`, name2, game, monster, info)VALUES('$name', '$name2', '$game', '$mobname', '$info')";
$log = $db->query("SELECT * FROM log_mitem WHERE mobname = '" .$mobname. "' AND game = '" .$game. "'") or die($db->error);

if($log1 = $log->fetch_object())
    {
while($loco = $log->fetch_object())
    {
$item .= "$loco->itemname";
    }
$logss = "INSERT INTO log_drops(`item`, mobname, game, log_id, log_name)VALUES('$item', '$mobname', '$game', '$id', '$name')";
if($result1 = $db->query($logss));
}

1 个答案:

答案 0 :(得分:0)

在下面找到两个例子。

$sql="INSERT INTO table1 (ITEM,MOBNAME,GAME,LOG_ID,LOG_NAME)SELECT ITEM,MOBNAME,GAME,LOG_ID,LOG_NAME FROM table2 WHERE mobname ='".$mobname."' AND game ='".$game ."'";
mysql_query($sql);  

如果你有相同的结构。

$sql="INSERT INTO table1(SELECT ITEM,MOBNAME,GAME,LOG_ID,LOG_NAME FROM table2 WHERE WHERE mobname ='".$mobname."' AND game ='".$game ."')";
mysql_query($sql);