MySQL:在没有PHP循环的情况下插入完全相同的数据多行

时间:2012-09-27 15:27:29

标签: php mysql

我需要在没有PHP循环的情况下将相同的数据插入到我的MySQL表中。我这样做的原因是因为我有一个具有Auto_Increment功能的列,并且该列与其他表关联。

所以,我只需要插入一些完全相同的数据,并且它是多行(动态),但是使用下面的单个INSERT语法:

INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage')

如何使用这个单一的INSERT语法,但产生n行?

5 个答案:

答案 0 :(得分:2)

你可以这样做:

INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage')
, ('$SMSMessage2'), ('$SMSMessage3'), ('$SMSMessage4');

答案 1 :(得分:0)

INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage'),('$SMSMessage')
,('$SMSMessage'),('$SMSMessage')

如果动态完成,

$n=5;
for ($i=0;$i<$n;$i++){$values.="('$SMSMessage'),";}
$values=substr($values,0,-1);

SQL是:

INSERT INTO outbox_multipart (TextDecoded) VALUES $values

答案 2 :(得分:0)

尝试这样的事情

     $sql = mysql_query("INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage')
      , ('$SMSMessage'),('$SMSMessage'),('$SMSMessage')");

此外,您知道,mysql_*已被弃用。因此,尝试使用mysqli_ *或PDO进行查询。

答案 3 :(得分:0)

mysql_query("INSERT INTO `table`(`this`) VALUES (`that`); INSERT INTO `table`(`this`) VALUES (`that`);");

答案 4 :(得分:0)

假设你想要3个插入,只需这样:

INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage'),('$SMSMessage'),('$SMSMessage');