草庐IT

logically_deleted_y

全部标签

MySQL外键ON DELETE SET NULL检查数据类型错误

我正在开发一个规范化的数据库,为了安全起见,我想使用外键。我的数据库:CREATETABLE`names`(`id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(250)NOTNULL,PRIMARYKEY(`id`),UNIQUEKEY`name`(`name`),KEY`name_2`(`name`))ENGINE=InnoDBDEFAULTCHARSET=latin1AUTO_INCREMENT=1;CREATETABLE`users`(`id`int(11)NOTNULLAUTO_INCREMENT,`name_id`int(11)DEF

mysql - MULTI DELETE 中的未知表

此查询在MySQL5.1.57中给我一个错误,但在5.1.53中有效:DELETEfFROMtable1ASfJOINtable2ASdsyJOINtable3ASdsJOINtable4ASdpJOINtable5ASdgWHEREdsy.f1=f.f1ANDds.f2=f.f2ANDdp.f3=f.f3ANDdg.f4=f.f4ANDdsy.school_year=2011ANDds.id=29620ANDdp.id=14120ANDdg.grade_level=5;错误是:MULTIDELETE中的未知表'f'谢谢!编辑:实际上这个查询有效,问题是我使用模式名称来声明我的表,如s

python - Django on_delete=models.CASCADE 在 SQL 级别没有效果

我的models.py文件包含:classUser(models.Model):email=models.CharField(max_length=100,unique=True)password=models.CharField(max_length=100)create_time=models.DateTimeField(auto_now_add=True)classSession(models.Model):user=models.ForeignKey(User,on_delete=models.CASCADE)token=models.CharField(max_length=

sql - 为什么 'delete from table' 需要 0 时间而 'truncate table' 需要很长时间?

(我已经在MySql中试过了)我相信它们在语义上是等价的。为什么不识别这个微不足道的案例并加快速度? 最佳答案 truncatetable无法回滚,就像删除并重新创建表。 关于sql-为什么'deletefromtable'需要0时间而'truncatetable'需要很长时间?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/392024/

MySql 外键 : ON DELETE NO ACTION behavour - how to leave info in referenced field?

我有两张表,一张“用户”和一张“订单”,其中订单表有一个指向用户ID表的外键引用。(在这种情况下,我使用电子邮件地址作为用户ID。)我想要完成的是:如果更新了用户表ID(=更改了电子邮件地址),这将反射(reflect)在引用的订单表user_id字段中。(使用ONUPDATECASCADE指令可以正常工作-这里没问题!)如果用户从用户表中删除,订单将保留,保持引用的user_id。我对第二个目标有疑问:如果我在引用的用户ID字段上使用ONDELETECASCADE,订单行当然会被删除。如果我使用ONDELETENOACTION,当我尝试删除用户时会收到错误消息。(#1451-无法删除

mysql - 确定表是否在 CASCADE 上有 DELETE

我能否知道数据库是否有DELETEONCASCADE和查询? 最佳答案 是的。只需查询INFORMATION_SCHEMASELECT*FROMinformation_schema.REFERENTIAL_CONSTRAINTS或者更具体的--Thisquerywilllistallconstraints,theirdeleterule,--theconstrainttable/columnlist,andthereferencedtableSELECTr.CONSTRAINT_NAME,r.DELETE_RULE,r.TABLE_

MySQL 触发器 : Delete From Table AFTER DELETE

范围:两个表。当一个新顾客被创建时,他们将一些关于他们的信息存储到第二个表中(这也是使用触发器完成的,它按预期工作)。这是我的表结构和关系的示例。表1->赞助人+-----+---------+-----++id+name+val++=====+=========+=====++37+george+x++-----+---------+-----++38+sally+y++-----+---------+-----+表2->patron_info+----+-----+----------++id+pid+name++----+-----+----------++1+37+george

Mysql delete语句有限制

我正在尝试从表中删除行,但出现错误。DELETEFROM`chat_messages`ORDERBY`timestamp`DESCLIMIT20,50;我在50时收到此错误:YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'50'atline1不知道出了什么问题。 最佳答案 您不能在DELETE的LIMIT子句中指定偏移量。所以唯一的方法就是将您的查询重写为:DEL

mysql - "delete from table where NULL = NULL"是什么意思?

deletefromtablewhereNULL=NULL是什么意思? 最佳答案 这不会从表中删除任何内容。NULL不等于NULL。现在deletefromtablewhereNULLisNULL会从表中删除所有行。 关于mysql-"deletefromtablewhereNULL=NULL"是什么意思?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3201192/

mysql - Laravel 的 "soft_delete"需要 MySQL 上的索引吗?

如果我在laravel4.2中使用软删除(数据库是mysql),每个eloquent查询都有WHEREdeleted_atISNULL。deleted_at上没有索引。在大table上会很慢吗?(或者也许ISNULL不需要索引就可以优化)我应该在deleted_at列上添加索引吗?那么,Laravel的“soft_delete”deleted_at列在MySQL中是否需要索引?澄清:Laravel在deleted_at列中存储一个时间戳来表示记录何时被软删除,而不是bool值。 最佳答案 deleted_at列不是一个好的索引候选。