我有一个表中有两列,将一个表的行ID链接到另一个表的行ID,基本上我需要能够在这张表上插入多行,列是插入和其他更改的固定值。插入是使用预处理语句在php中完成的,并且插入了未知行数(我已经使用call_user_func_array解决了这部分问题)。mysql准备语句设置插入的默认值
这里是什么,我需要做的一个例子:
example_table(column_A,column_B)
插入:
INSERT INTO example_table (column_A, column_B) VALUES(a, b), VALUES(a, c), VALUES(a, d);
翻译成事先准备好的声明:
INSERT INTO example_table (column_A, column_B) VALUES(?, ?), VALUES(?, ?), VALUES(?, ?);
bind_param上的值:
('ssssss', 'a', 'b', 'a', 'c', 'a', 'd')
正如你所看到的'a'的重复。有没有一种方法来存储'a',并将其默认为仅用于当前插入的column_A?的我想上bind_param做什么
例如:
('ssss', 'a', 'b', 'c', 'd')
其中“a”之上用于column_A上插入的所有行(3行中的例子)。任何帮助,将不胜感激
感谢您在清除了。我有一个可以消除重复的功能,所以这不是问题。不过,我最关心的是脚本的执行时间,因为一次可能会插入数百行。任何建议使这个过程尽可能高效?在此先感谢 – user3908399 2014-09-25 02:04:49
@ user3908399我会首先用一个简单的循环*和*来编写它,并使用外部事务(并包含)循环和所有插入事务。然后测试性能 - 如果足够了,我会放弃它。如果不是,我会找出原因。组合插入可以减少处理来自服务器的多个命令(并等待响应)的开销,这与高延迟连接有很大不同,但它可能不是一个相关因素或事项。现在,如果有成千上万的行.. – user2864740 2014-09-25 02:05:52
嗯......我想这是关于我唯一的选择。最后一件事就是要清除我的想法..没有任何方法可以将变量存储在SQL本身中,并在值上使用变量?示例: 'INSERT INTO example_table(column_A,column_B)VALUES(some_variable,?),VALUES(some_variable,?),VALUES(some_variable,?);' – user3908399 2014-09-25 02:10:14