草庐IT

all-delete-orphan

全部标签

mysql - 环回 : deleted column in model instead of actual delete

我正在考虑使用Loopback构建一个RESTFullAPI,内部使用。我目前正在制作API的一小部分原型(prototype),以评估限制和工作量。我有一个巨大的限制:我可以创建/读取/更新,但要删除,我已经更新了数据库条目以将其标记为“已删除”(数据库中的bool值)。我不允许物理删除数据库条目。我有一个PersistedModel,以及对象之间的某种关系(依赖关系,例如一个对象的子对象与另一个对象的子对象)。我的问题是:有没有办法覆盖在后台完成的DELETE操作并输入一些自定义代码:将对象标记为“已删除”(如更新表SETdeleted=1WHEREid=XXX)手动级联到依赖对象

mysql - 如何绕过 'ON DELETE SET DEFAULT' 不被接受?

我会尝试解释我的情况。我有一张“员工”表。我有一个“部门”表,其中有一个“DepHead”列引用了一个“EmployeeID”。我希望能够删除Employees而不删除他们是负责人的任何部门。我不能使用ONDELETESETNULL,因为“DepHead”列设置为NOTNULL并且必须如此。它的默认值为“1”,所以如果可能的话,如果引用的employeeID被删除,我希望将“DepHead”值更改为“1”。有没有办法做到这一点? 最佳答案 按顺序执行以下操作:设置一个命名约束,这样DBMS就不会设置一个难以跟踪的随机约束:ALTER

mysql - SQL:多对多关系和 'ALL' 子句

我有一个表products和一个表locations,它们以多对多关系与表products_locations链接在一起。现在客户可以选择一组产品,我想运行一个仅选择位置的查询,所有选定产品都在这些位置可用。起初这似乎很简单,但我发现自己对如何实现这一点感到很困惑。我最初以为我可以用类似的东西获得所有正确的位置IDSELECTlocation_idFROMproducts_locationsWHEREproduct_id=ALL[theuserselectedproductids]但转念一想这似乎也没有意义(products_locations的结构非常简单[product_id,lo

php - 在 MySql 中加入 DELETE?如何?

我有这个:$query="DELETEFROMclassified,$sql_tableWHEREclassified.ad_id='$id'ANDclassified.classified_id=$sql_table.classified_idANDclassified.poster_password='$pass'";我收到此错误:您的SQL语法有误;查看与您的MySQL服务器版本对应的手册,了解在第1行的“WHEREclassified.ad_id='Bmw_M3_E46_Full_29920'ANDclassified.cla'附近使用的正确语法有什么帮助吗?如您所见,$sql

php - MySQL分层存储: searching through all parent/grandparent/etc.节点给定子节点id?

我正在使用这样的分层模型存储类别:CATEGORIESid|parent_id|name---------------------1|0|Cars2|0|Planes3|1|Hatchbacks4|1|Convertibles5|2|Jets6|3|Peugeot7|3|BMW8|6|2069|6|306然后我使用这些类别ID之一存储实际数据,如下所示:CARSvehicle_id|category_id|name-------------------------------1|8|ReallyfastsilverPeugeot2062|9|ReallyfastsilverPeugeo

php - MySQL "Fire-And-Forget"INSERT/UPDATE/DELETE - mysql_unbuffered_query 用法是否可取?

我们有很多我们认为是“即发即弃”的查询。从某种意义上说,这些只是记录插入、更新等。不那么重要的事情,以及从未在用户看到的前端使用的数据。这听起来像是mysql_unbuffered_query的理想情况。这是否可取?我们正在使用innodb,因此无法使用INSERTDELAYED之类的东西。谢谢! 最佳答案 看完http://www.php.net/manual/en/mysqlinfo.concepts.buffering.php:Followingthesecharacteristicsbufferedqueriesshould

mysql - 如何: Find and update all the entries where the value in one column shows up more than once

我有一个包含以下列的表格:subid-资源的idauthorid-作者的id排序-作者在引用中的顺序对于用户可以提交资源并引用多个作者的应用程序。作者可以在他们的投稿中引用主要和次要作者,而且通常会这样做。有一种情况,用户(称他为用户111)提交的所有条目都将自己列为主要作者,实际作者为次要作者。不幸的是,那个人已经离开了这个项目,所以我来解决这个问题(我必须纯粹用sql来做)。我正在尝试弄清楚如何构建一个查询来执行以下操作:查找所有条目subid值在表中出现多次其中至少一个authorid值是111111的排序大于非111的任何用户的排序并更新它们not(111)作者的排序为“0”并

mysql - 用于选择美国多个州的模式设计,或 "all"

作为一个简化示例,假设我正在销售小部件。我在全国(美国和加拿大)销售它们,但有些只能在特定地区(美国一个或多个州或加拿大省)销售。我想要一种存储此信息的好方法,以及一种查询给定用户可用的小部件的快速方法。“美国,50个州和华盛顿特区。”是最常见的值,所以我不想插入51行。MySQL不支持位图索引,所以排除了。这里有一些组合:美国50个州和哥伦比亚特区美国50个州、哥伦比亚特区、加拿大,但不包括魁北克。美国48个相邻的州和哥伦比亚特区美国哥伦比亚特区,但不包括科罗拉多美国、哥伦比亚特区和领土(波多黎各等)。我的用户会为他们的州/省和国家/地区提供一个值。您能推荐一个提供良好存储和快速匹配

mysql - deleted_at 列的 SQL 索引

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

mysql - 如果在 UNION ALL 查询中找不到任何行,则返回默认值

场景我有一个由此question开发的查询,优化的一部分是创建一个用于为用户和销售生成统计信息的MySqlView,问题是当SELECT行之一没有结果时,它会从结果表。问题如果没有找到任何SELECT的行,如何告诉MySql设置默认值(例如0)?代码这是创建View的代码CREATEORREPLACEVIEWuser_eventsASSELECT'Completeprofiles'AStype,created_atFROMusersWHEREcompleted_registration=1UNIONALLSELECT'Incompleteprofiles',created_atFROM