
我只能说**网站这坑货!!哥,冒险不用代理爬的11万数据,你居然给我来这限制!再见还好发现得早,不然等被你禁了ip才发现,那我去不是亏大发了微笑
唉,总结一下,抚慰我受伤的心,希望不会有人犯和我一样的错误!
知识点:
MongoDB数据库默认是通过 _id 来说写入的每个数据进行建立索引的,也就是说,通过
>db.person.update({'_id':id}, data, True)
或者
>db.person.insert(data)
这两种方式的话,只要_id是相同的,那么就不会写入数据库!!这就是哥我犯错的地方!
所以啊,在写入数据库的时候一定要找好唯一 的值赋给 _id,不行的话,_id 就不要赋值,数据库会默认加上的。
Game Over!
有时间再把自己摸索了一段时间的pyspider和mongodb以及rabbitmq的结果做个记录。。
一次性插入大量数据,只能使用循环,如:游标,while 循环语句
下面介绍While 循环插入数据,
SQL 代码如下:
IF OBJECT_ID('dbo.Nums') IS NOT NULL
DROP TABLE dbo.Nums
GO
CREATE TABLE dbo.Nums(n INT NOT NULL PRIMARY KEY)
DECLARE @max AS INT, @rc AS INT
SET @max = 5000000
SET @rc = 1
INSERT INTO Nums VALUES(1)
WHILE @rc * 2 <= @max
BEGIN
INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums
SET @rc = @rc * 2
END
INSERT INTO dbo.Nums SELECT n + @rc FROM dbo.Nums WHERE n + @rc <= @max
--以上函数取自Inside SQL Server 2005: T-SQL Query一书。
INSERT dbo.Sample SELECT n, RAND(CAST(NEWID() AS BINARY(16))) FROM Nums
PHP批量添加数据方法如下:
1、在HTML里这样写:
<form ........<input type="text" name="haoma[]" />
<input type="text" name="haoma[]" />
<input type="text" name="haoma[]" />
....
第N个
2、PHP中这样 *** 作:
foreach($_POST['haoma'] as $v){$sql="insert into haoma values('',$v)"
.......
}
3、当然这样写一条一条的效率是会慢,再改一下
foreach($_POST['haoma'] as $v){$values.="('',$v),"
}
$values=substr($values,0,strlen($values)-1)
$sql="insert into haoma values $values"
......
下面的query我就不写了
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)