我需要插入相同的数据到我的MySQL表,而没有PHP循环。我这样做的原因是因为我有一个具有Auto_Increment功能的列,并且该列与其他表关联。MySQL:插入完全相同的数据多行无PHP循环
所以,我只需要插入一些完全相同数据和它的多行(动态),但通过下面一个INSERT语句的语法:
INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage')
怎么能有这种单一的INSERT语法,但产生n个行数?
我需要插入相同的数据到我的MySQL表,而没有PHP循环。我这样做的原因是因为我有一个具有Auto_Increment功能的列,并且该列与其他表关联。MySQL:插入完全相同的数据多行无PHP循环
所以,我只需要插入一些完全相同数据和它的多行(动态),但通过下面一个INSERT语句的语法:
INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage')
怎么能有这种单一的INSERT语法,但产生n个行数?
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
你可以这样做:
INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage')
, ('$SMSMessage2'), ('$SMSMessage3'), ('$SMSMessage4');
'SMSMessage2'是一个变量,而不是一个字符串。 –
他提到了相同的数据,即变量'$ SMSMessage'中的字符串 –
@ coder1984我同意你的看法,但是OP在这方面并不清楚,他没有说变量。这是他写的声明中的'$ SMSMessage'。所以我做了他所问的问题:'如何得到这个单一的INSERT语法,但是产生n个行' –
尝试这样的事情
$sql = mysql_query("INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage')
, ('$SMSMessage'),('$SMSMessage'),('$SMSMessage')");
此外,只是你知道,mysql_*
已被弃用。因此,请尝试使用mysqli_ *或PDO进行查询。
mysql_query("INSERT INTO `table`(`this`) VALUES (`that`); INSERT INTO `table`(`this`) VALUES (`that`);");
假设你想插入3简单地这样做:
INSERT INTO outbox_multipart (TextDecoded) VALUES ('$SMSMessage'),('$SMSMessage'),('$SMSMessage');
建立一个触发器。 – wesside
该怎么办?例如请。 –