我希望能够向表中添加一个字符串数组,以便每个字符串都是一个新行(在PHP中)。
这是伪造的代码:
$Array = "10000,10001,10002,10003";
$Data = "ImportantData";
mysqli_query($db, "INSERT INTO MyTable(`id`,`data`) VALUES($Array, $Data)");
以前的空表看起来像:
id | data ------------------------ 10000 | ImportantData 10001 | ImportantData 10002 | ImportantData 10003 | ImportantData
在更新脚本中,已经建立了这些行,我可以说:
mysqli_query($db, "UPDATE MyTable SET data = $Data WHERE `id` IN($Array));
但是我希望它能够创建行,而不仅仅是更新旧行。
我有什么方法可以做到这一点吗?
答案 0 :(得分:0)
只需在$ Array上创建一个foreach循环,然后插入数据。我假设您要更新它,如果它存在,因为创建具有相同PK的新记录没有意义,所以使用以下(假设您使用PHP PDO
INSERT INTO MyTable (id,data) VALUES (:id,:data) ON DUPLICATE KEY UPDATE data=:data;
答案 1 :(得分:0)
使用REPLACE INTO
:
REPLACE INTO table SET id = 10001, data = 'new important data';