php - SQL - 插入数据,其中值是数组

标签 php mysql sql arrays

我希望能够将字符串数组添加到表中,以便每个字符串都是一个新行(在 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

In an update script, with those rows already established, I could just say:

mysqli_query($db, "UPDATE MyTable SET data = $Data WHERE `id` IN($Array));

但是我希望它创建行,而不仅仅是更新旧行。

有什么办法可以做到这一点吗?

最佳答案

只需在 $Array 上创建一个 foreach 循环,然后插入数据。我假设您想要更新它(如果它存在),因为使用相同的 PK 创建新记录没有什么意义,因此使用以下内容(假设您正在使用 PHP PDO

INSERT INTO MyTable (id,data) VALUES (:id,:data) ON DUPLICATE KEY UPDATE data=:data;

关于php - SQL - 插入数据,其中值是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22738561/

相关文章:

java - 如何在 Android 中使用 PHP MYSQL 更新数据

用于数据分析的 Java Web 平台

mysql - Percona 的工作原理以及何时使用

php - 使用PHP将日期数据插入Mysql表

MySQL:获取每个商店最新价格的产品

sql - 使用 DATEADD 添加 0 分钟

MySQL:根据列值限制接收到的结果数量 |组合查询

Symfony2 中下载文件的 PHPUnit 路径测试

php - 从具有关系的数据库中检索数据

sql - 选择与 session_id 匹配的最新记录