我可以使用LIMIT 2 MySQL的INSERT查询? 例如
INSERT INTO MyTable
(user_name,password)
VALUES
(john,366543),
(sam,654654)
LIMIT 2
我试着和它说
`#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIMIT 2' at line 1`
你可以这样做使用INSERT ... SELECT语法 :
INSERT INTO MyTable (user_name, password)
SELECT 'john', '366543'
UNION ALL SELECT 'sam', '654654'
LIMIT 2;
不知道为什么你会想...也许,如果你有一个很长的,你想轻松地通过设定上限值控制的静态值列表?
编辑:由于PST笔记中, LIMIT
实际上是部分SELECT
,并没有任何与INSERT
本身...
天色如果我们从另一个表时插入数据,我们需要限制设置为插入数据的具体数字
insert into cas_user (cas_name) select cas_name from users limit 1,5;
希望这会有所帮助。
如果你正在尝试使用限制插入件巨大的批量数据,你是MySQL的规定的初始约束范围内运行。
尝试增加的制约,而值:PFB
变量:max_allowed_packet的 ,bulk_insert_buffer_size,key_buffer_size的
示例查询显示和设置:
show variables like 'max_allowed_packet';
SET GLOBAL max_allowed_packet=524288000;
参考文献:
http://forums.mysql.com/read.php?20,161869
MySQL的-有多少行我可以在一个单一的INSERT语句插入?
我知道这是一个老的文章,但你可以使用foreach循环来限制插入语句。 就像是:
$i = '1';
foreach($item as $item){
IF($i <= '2'){
IF ($stmt = $connection->prepare("INSERT IGNORE INTO `db`.`table`( `item`) VALUES (?)")) {
/* Bind our params */
$stmt->bind_param('s' , $item);
$stmt->execute();
$stmt->close();
}
}
$i++;
}