Php mysql粘贴一长串值
我有一个很大的数据库,有很多表和几千条记录 我已经做了一些Excel工作,以确定我想从一个大表中删除的一些记录/行,因为当我尝试在phpmyadmin中执行查询时,由于查询太大,表一直处于锁定状态 无论如何。。。。长话短说 我现在有一个1500条记录的列表,需要从我的一个表中删除 有没有办法将这1500个值粘贴到一个查询中,这样我就可以带回匹配的记录,一次将它们全部选中并删除它们 显然,我不想一次一个地手动执行此操作 所以我想到的问题是这样的: 查找与这些ID匹配的所有记录,其中ID= 从Ms Excel粘贴ID列表 返回的结果 可以选择所有行并删除 有什么建议吗Php mysql粘贴一长串值,php,mysql,Php,Mysql,我有一个很大的数据库,有很多表和几千条记录 我已经做了一些Excel工作,以确定我想从一个大表中删除的一些记录/行,因为当我尝试在phpmyadmin中执行查询时,由于查询太大,表一直处于锁定状态 无论如何。。。。长话短说 我现在有一个1500条记录的列表,需要从我的一个表中删除 有没有办法将这1500个值粘贴到一个查询中,这样我就可以带回匹配的记录,一次将它们全部选中并删除它们 显然,我不想一次一个地手动执行此操作 所以我想到的问题是这样的: 查找与这些ID匹配的所有记录,其中ID= 从Ms
谢谢只需在查询中使用关键字和值列表。比如:
Select Name
From Users
Where ID IN (1,2,3,4 .....) ;
实现这一点的方法不止一种 第一: 您可以直接将分隔ID的列表粘贴到where子句中
DELETE FROM tablename WHERE ID IN (1,2,3,4);
如果您得到错误“数据包太大”,您可以增加
可以向MySQL或从MySQL传输的最大数据包
5.0服务器或客户端为1GB
第二:
您可以将Excel文件导出为csv文件,并将数据加载到临时表中,然后使用tmp表作为参考从表中删除
LOAD DATA INFILE 'X:\filename.csv'
INTO TABLE tmptable
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
DELETE t1
FROM tablename t1
JOIN tmptable t2 ON t1.ID = t2.ID;
参考:
不要忘记删除tmp表。粘贴逗号分隔的值,即5、6、7、8、9、11、23、44、55、56、57、58中的WHERE ID。足够粗糙,同样有用。查询太大?然后增加max_allowed_packet您还可以构造一个“临时”表,将值插入其中,然后将其连接到主表1064-您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以了解在“WHERE post_title inca you post the sql you trusted use?”附近使用的正确语法。每个术语上都有一个错误,但有一些遗漏:当我尝试运行该查询时,post_title在其中显示1064-您的sql语法有一个错误;查看与您的MySQL服务器版本对应的手册,以了解可在“WHERE post_title”附近使用的正确语法。请在没有ID列表的情况下输入完整的语法