我有一个php数组。我想使用PDO将它们全部插入到mysql表的列中。
$myArray = array("12397", "45263426", "253725372","2735724372");
$sql = "DROP TEMPORARY TABLE IF EXISTS T_Temp;
CREATE TEMPORARY TABLE T_Temp (
AccountID varchar(120)
);";现在我想单次将所有数组值插入到T_Temp表中。我不想使用foreach。
发布于 2021-08-23 15:27:56
这里有一个不使用foreach的解决方案
<?php
$myArray = array("12397", "45263426", "253725372","2735724372");
$sql = "DROP TEMPORARY TABLE IF EXISTS T_Temp;
CREATE TEMPORARY TABLE T_Temp (
AccountID varchar(120)
);";
$pdo = new PDO('mysql:dbname=test;host=127.0.0.1', 'root');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec($sql);
$placeholders = implode(",", array_fill(1, count($myArray), "(?)"));
$insertSql = "INSERT INTO T_Temp (AccountID) VALUES {$placeholders}";
$pdo->prepare($insertSql)->execute($myArray);发布于 2021-08-23 14:43:06
要一次插入多个值,可以编写这样的查询
INSERT INTO table_name (column_list)
VALUES
(value_list_1),
(value_list_2),
...
(value_list_n);https://stackoverflow.com/questions/68894468
复制相似问题