草庐IT

delete-previous

全部标签

mysql - deleted_at 列的 SQL 索引

在SQL数据库的deleted_at列上添加索引是最佳实践还是有益的?我的很多查询都使用WHEREdeleted_atISNULL,添加deleted_at索引会加快我的查询速度还是减慢它们的速度? 最佳答案 @Barmar最好地回答了这个问题:“你是否应该索引它取决于它对你的表进行分区的程度。如果大多数行没有被删除,索引它不会有太大帮助。此外,如果你有其他列索引,并且你一起测试它们使用deleted_at,那么您将需要使用deleted_at的其他列的复合索引才能获得好处。” 关于my

mySQL delete 查询在不同的列上有两个条件

这个问题在这里已经有了答案:DeletingrowswithMySQLLEFTJOIN(6个答案)关闭5年前。我正在使用此查询从wp_postmeta表中选择特定行SELECT*FROMwp_postmetapmLEFTJOINwp_postswpONwp.ID=pm.meta_valueWHERE(wp.IDISNULL)AND(pm.meta_key='_wpcf_belongs_books_id')它工作正常,但是当我尝试使用DELETE时DELETEFROMwp_postmetapmLEFTJOINfddb_wp_postswpONwp.ID=pm.meta_valueWHER

mysql - 记录 MySQL DELETE 语句

我们有一个使用Informatica的MySQL->OracleETL,它适用于除DELETE之外的所有语句。不幸的是,DELETE使记录消失,以至于Informatica再也看不到它以在Oracle中将其删除/过期。人们如何记录MySQLDELETE语句?这些表是InnoDB(符合ACID)的,所有记录都有唯一的主键(auto_increment)。我们在Windows上使用开源MySQL。出于性能原因,我们不希望使用一般查询日志。我们还希望保留常用的MySQL二进制文件,而不是重新编译我们自己的特殊DELETE语句。 最佳答案

php - 拉维尔 : How to delete rows from multiple table with same id with only 1 query?

我有这段代码可以一次性从多个表中删除数据:DB::table('tb_stikes_register_school')->where('register_id',$_POST['id'])->delete();DB::table('tb_stikes_register_guardian')->where('register_id',$_POST['id'])->delete();DB::table('tb_stikes_register_student')->where('register_id',$_POST['id'])->delete();我试图将其缩短为仅1个查询,guardi

php - mySQL 语句的第一个词不能是 DELETE 或 UPDATE

我目前正在写一个查询数据库的页面,而不是使用命令行(它只是为了练习PHP如何与整个数据库交互)。现在,我正在尝试限制删除或更新数据,即没有DELETE、DROP或UPDATE语句。修剪所有空格(包括\r和\s等)后,仅扫描第一个单词以确定它是什么类型的查询就足够了吗?换句话说,是否可以编写DELETE、DROP或UPDATE查询而不将它们作为修剪空格后的第一个词?我目前正在使用mysqli_query,因此无法执行多个查询。编辑1:添加相关代码@Tim。$queryCheck=strtolower($query);$queryCheck=preg_replace("/\s+/","",

mysql - Google Cloud SQL 是否支持 MySQL 的 ON CASCADE DELETE 功能?

GoogleCloudSQL是否支持MySQL的级联删除功能?我在Google和Google对CloudSQL的支持上搜索了这个,但找不到答案。 最佳答案 是的,是的。你可以自己试试这个,但是,基本上,根据tothedocs:您可以创建第一代或第二代实例。第一代支持MySQL5.5和5.6,第二代支持MySQL5.6或5.7所有这些MySQL版本都已支持thisoperation虽然两代CloudSQL实例都存在一些限制,但它们确实支持此功能。 关于mysql-GoogleCloudSQ

mysql - 转mysql select to delete statement - 我怎么办?

这个问题在这里已经有了答案:HowtoturnthisMySQLSELECTqueryintoaDELETEquery?(6个答案)关闭8年前。我只想从一个表中删除,但我必须根据相关表中的条件进行选择。我之前在此处找到的示例讨论了从一张表中删除的内容。如何将下面的select变成delete语句?selectr.id,r.reminder_date,c.full_name,c.companyfromremindersrleftjoinclientsconr.client_id=c.idwhere(c.full_nameisnullorc.full_name="")AND(c.compa

mysql - DELETing w/Using 时限制删除的记录

我通过将多个列移动到它们自己的表并改用外键来规范化数据库。我正在尝试更新应用程序中的查询以尽可能使用联接。在删除数据的查询中,我不希望查找键值而只是运行带有连接的删除。我发现唯一可行的方法是将USING添加到查询中-但这会破坏我对LIMIT子句的使用。DELETEFROMprism_dataUSINGprism_dataINNERJOINprism_playerspONp.player_id=prism_data.player_idINNERJOINprism_actionsaONa.action_id=prism_data.action_idWHERE(a.action='water

mysql - 为什么我们在多个删除中的 'DELETE' 之后提供别名

这可能是一个非常愚蠢的问题,但我很想知道是否有人有任何建议:单表删除正确查询:deletefromvehicle_ownerwhereid=3;单表删除错误查询:deletefromvehicle_ownervwherev.id=3多表删除:删除v,sfromvehiclev,categoryswherev.id=3andv.id=s.id;问题1:我想知道为什么第一个是正确的,为什么第二个是不正确的。基本上我正在寻找逻辑答案,这解释了为什么在删除查询中提供别名是不正确的。问题2:为什么我们在'DELETE'关键字后保留两个别名用于多次删除。无论如何,我们在加入条件中提供了完整的细节。

mysql - Rails 3 - delete_all 不支持限制范围,而 MySQL 支持它

我有一个包含900万条记录的表。我定期将此数据同步到第三方。我保留了一个列,告诉特定行是否已经同步。现在我需要删除将近600万同步行,我不确定是否运行Model.where(:sync_flag=>true).delete_all会是个好主意。每秒有数百次插入,我认为这可能会导致以一种会伤害/阻止插入的方式锁定表(这里需要MySQL专家来纠正)有了上面的序言,我想到了在循环中使用一个带有limit子句的delete来删除所有的记录,直到没有留下,但是有以下内容Model.where(:sync_flag=>true).limit(5000).delete_all它引发了一个异常dele