草庐IT

checked_delete

全部标签

mysql - 这个 SQL DELETE FROM 语法有什么问题?

我正在尝试删除96k条记录。删除表xoops_bb_posts_text页面中没有匹配post_id到xoops_bb_posts的所有记录此查询成功返回91k条记录:SELECT*FROMxoops_bb_posts_texttWHEREnotexists(selectpost_idfromxoops_bb_postspWHEREp.post_id=t.post_id);当我试图删除这些记录时出现语法错误,但我没有看到它。DELETEFROMxoops_bb_posts_texttWHEREnotexists(selectpost_idfromxoops_bb_postspWHERE

mysql - "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax error" hibernate 4

这个问题在这里已经有了答案:HowcanIwriteSQLforatablethatsharesthesamenameasaprotectedkeywordinMySql?[duplicate](3个答案)关闭9年前。在使用Hibernate4.1和MySQL5将Folder实体保存到数据库时,我收到了下面添加的错误。我对其他实体没有任何问题。YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntax这是我的文件夹表:CREATETABLE`fo

mysql - mysql 5.1/xtradb 6 中的 'checking permissions' 和 'open tables' 代码周围是否存在互斥量?

问题来self所看到的一些行为。我们在8核机器上使用mysql5.1.36,xtradb第6版。当删除包含大量表的数据库时,mysql在删除每个表之前需要很长时间来检查它们的权限。我知道这是正常行为,至少对于最新版本的mysql是这样。但是,这样做时,数据库上的所有其他查询都在“打开表”状态下阻塞。top显示其中1个核心固定在100%,而其他核心没有做任何事情。这是预期的行为吗?检查权限和打开表代码周围是否有互斥锁?谢谢! 最佳答案 是的,在打开/关闭表周围有一个互斥体:http://www.mysqlperformanceblog

mysql - 使用一个 SQL 查询进行 SELECT、UPDATE、DELETE?

我有一个递减值的小语句:UPDATEcart_itemsSETquantity=quantity-1WHEREcart_id={$cart_id}ANDid={$cart_item_id}但是如果该值在递减后变为0,SQL是否有可能删除该行?如果是这样,那么我想重新计算与该购物车匹配的行数:SELECTFROMcart_itemsWHEREcart_id={$cart_id}如果行数为零,我想从另一个表中删除该记录,如下所示:DELETEFROMcartWHEREid={$cart_id}目前似乎需要多个查询来执行此操作,但是否可以在单个SQL语句中完成所有操作?

mysql - 无法使用 ON DELETE SET DEFAULT 创建外键

我无法使用ONDELETESETDEFAULT创建外键,但是如果我使用ONDELETECASCADE那么这里所有的工作都是我的sqlCREATETABLEperson(customer_idINTAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(100)UNIQUE);CREATETABLEhabits(customer_idINTAUTO_INCREMENTPRIMARYKEY,habitVARCHAR(100)UNIQUE);INSERTINTO`test`.`habits`(`customer_id`,`habit`)VALUES(NULL,'smokin

mysql - SQL UPDATE 或 DELETE 如果重复

我正在尝试在我的数据库中运行3个查询:UPDATE`table`SET`rubriq`='77'WHERE`rubriq`='61';UPDATE`table`SET`rubriq`='77'WHERE`rubriq`='62';UPDATE`table`SET`rubriq`='77'WHERE`rubriq`='63';在table中,我有两列abonne和rubriq。Abonne是主键,两个是索引。如果在我的数据库中有例如:abonne|rubriq84|6184|6284|63当我运行3个查询时,第一个没有问题,但第二个出现错误:#1062-Duplicateentry'84

mysql - 更改 SQLAlchemy 的 Session.delete() 行为

关于SQLAlchemy的Session的delete()方法是否有任何配置可能性?我想让相应的对象在数据库中标有已删除的标志,而不是从中删除。有没有办法做到这一点?目的是在不失去SQLAlchemy的级联特性优势的情况下,构建一个没有破坏性更新的数据库。 最佳答案 创建您自己的session类继承自Session并用您自己的逻辑覆盖delete()方法(对于那些需要逻辑删除),回退到其他对象的默认实现。如果你使用sessionmaker或者类似的工厂,你也可以在class_参数中提供你的类。希望这能回答您的问题。但是,话虽如此,对

mysql - 如果我杀死一个巨大的 MySQL InnoDb DELETE 查询会发生什么?

我目前正在运行一个DELETE查询,它花费的时间比预期的要长很多(已经10小时了!)。我想通过phpmyadmin进程终止它,但是我担心会发生什么。他自动回滚会不会也需要很多时间?当前查询状态显示“正在更新”。 最佳答案 这取决于您的查询目前所处的阶段。但通常回滚花费的时间大致相等,有时甚至比原始操作花费的时间更多。根据thisdocument的第2点,这不是真正可取的。此外,请务必验证您的MySQL版本,因为它有一个非常讨厌的错误,根据thisarticle在某些版本中删除/更新查询回滚。重新启动/终止MySQL进程无济于事,因为

MySql workbench CHECK 约束

这个问题在这里已经有了答案:CHECKconstraintinMySQLisnotworking(8个答案)关闭3年前。这里我想在记录插入数据库之前创建2个CHECK约束。ALTERTABLESubjectEnrollmentADDCONSTRAINTregisterCHECK(register=0),ADDCONSTRAINTavailableCHECK(available=0);register属性不应大于classSize属性且小于0。可用属性不应大于classSize属性且小于0。当我在MySqlWorkbench中输入此语法时,它会提示“语法错误:意外的'CHECK'(che

mysql - [MySQL] : DELETE rows from two dependent tables

我正在尝试根据第三个表ID删除两个相关表中的所有行。表结构:Transaction-Transaction_ID(primary)-TimestampPurchase-Item_ID-Transaction_ID-Purchase_ID(primary)Item-Item_ID(primary)-Client_ID我想从交易/购买中删除与项目中的Client_ID匹配的所有行。听起来很简单……即使是我的新手也能理解……DELETEdbName.tFROMdbName.TransactiontJOINdbName.PurchasepONp.Transaction_ID=t.Transac