Php 无法使用codeigniter datamapper从mysql数据库中删除超过20000条记录
我正在开发一个网站,该网站将从CitySeach、经销商评级器、内幕网页、Yelp、雅虎本地、,Google+等。该网站的基本功能是允许企业主在主要评论网站上监控他们的在线评论 我在这个项目中使用codeigniter和datamapper(版本1.8),在从mysql数据库中删除数据时遇到了一些问题 以下是我的表格结构部分:Php 无法使用codeigniter datamapper从mysql数据库中删除超过20000条记录,php,codeigniter-datamapper,Php,Codeigniter Datamapper,我正在开发一个网站,该网站将从CitySeach、经销商评级器、内幕网页、Yelp、雅虎本地、,Google+等。该网站的基本功能是允许企业主在主要评论网站上监控他们的在线评论 我在这个项目中使用codeigniter和datamapper(版本1.8),在从mysql数据库中删除数据时遇到了一些问题 以下是我的表格结构部分: +----------+ +----------------+ +--------------+ | profiles |
+----------+ +----------------+ +--------------+
| profiles | | profiles_users | | users |
+----------+ +----------------+ +--------------+
| id |<---- | id |----->| id |
| name | | profile_id | | name |
+----------+ | user_id | | email |
| +----------------+ | password |
| +--------------+
+--> +--------------+
| reviews |
+--------------+
| id |
| title |
| author |
| review |
| rating |
| date |
| profile_id |
+--------------+
+-------------++-------------++-------------+
|配置文件| |配置文件|用户|用户|
+----------+ +----------------+ +--------------+
|id | | id|
|名称| |配置文件| id | |名称|
+----------+|用户id | |电子邮件|
|+----------------+|密码|
| +--------------+
+--> +--------------+
|评论|
+--------------+
|身份证|
|头衔|
|作者|
|复习|
|评级|
|日期|
|个人资料|
+--------------+
在“profile”表中,我存储delar名称(如Fordham Toyota、Westchester Toyota等),在“user”表中,我存储企业所有者的名称。我正在使用api获取评论并将它们存储在带有“profile id”的“reviews”表中
每个配置文件可能有20000多条评论。目前,我有平均12000审查每个配置文件
每当我要删除一个配置文件时,应该删除该配置文件的评论,但在这里我会收到一条错误消息,如:
“致命错误:1999年第行/home/business/public\u html/system/database/DB\u active\u rec.php中允许的内存大小为134217728字节(试图分配20字节)”
在这方面,有谁能给我提个建议。在您尝试逐个删除之前,似乎您已将所有数据加载到内存中!不要那样做。一个简单的“从userid=X的表中删除”就足够了。@Sven。谢谢您的评论,但是当一个配置文件被删除时,该配置文件的相应评论将被删除,评论可能超过20000条。因此,我必须同时删除所有这些内容。使用InnoDB(外键约束)和delete CASCADE上的
,,任何被删除的配置文件都会自动删除与该配置文件相关的所有评论。这将永远不会触发PHP中的任何内存溢出。