在SQL Server 2008中,并给出 TableA(A_ID, A_Data) TableB(B_ID, B_Data) ViewC(A_or_B_ID, A_or_B_Data) 是否可以定义TableZ(A_or_B_ID, Z_Data) ,使Z.A_or_B_ID列被约束在Z.A_or_B_IDfind的值? 这可以用一个外键来完成吗?
我build立了一个表,其中包含一个带有外键的列,设置为ON DELETE CASCADE (删除父项时删除子项) SQL命令是什么将其更改为ON DELETE RESTRICT ? (如果有孩子,不能删除父母)
因为它们必须是唯一的,我应该在MySQL数据库中命名FK?
有什么好的解释如何使用MySQL的外键构造? 我不完全从MySQL文档自己得到它。 直到现在,我一直在处理像join和编程代码的外键。 而问题的第二部分是否有使用MySQL内置外键的改进?
我有两个表:轨道和航点,一个轨道可以有许多航点,但一个航点只分配到一个轨道。 在方式点表我有一个名为“trackidfk”列插入track_ID一旦一个轨道,但是我没有设置这个列的外键约束。 当我删除一个轨道,我想删除指定的航点,这是可能的吗? 我读了关于使用触发器,但我不认为他们在Android支持。 要创build航点表: public void onCreate(SQLiteDatabase db) { db.execSQL( "CREATE TABLE " + TABLE_NAME + " (" + _ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + LONGITUDE + " INTEGER," + LATITUDE + " INTEGER," + TIME + " INTEGER," + TRACK_ID_FK + " INTEGER" + " );" ); … }
我试图从数据库中删除除了一个表的所有表,并最终有以下错误: 无法删除或更新父行:外键约束失败 当然,我可以反复试验看看那些关键的约束是什么,并最终删除所有的表,但我想知道是否有一个快速的方法来强制删除所有的表(因为我可以重新插入这些表不想删除)。 Google向我提供了一些build议如下方法的网站: mysql> SET foreign_key_checks = 0; mysql> drop table … mysql> SET foreign_key_checks = 1; 简单的答案是,它并没有真正做到这一招,因为我最终收到了同样的错误,而我能够删除更多的表。 我已经看到堆栈溢出的方式来获取所有的外键链接到某个表,但是这太耗费时间,除非我编写脚本(这是可行的,在没有其他select的情况下) 数据库是4.1,所以我不能使用DROP DATABASE 想法?
我有下面的表格: CREATE TABLE child( id INTEGER PRIMARY KEY, parent_id INTEGER, description TEXT); 如何在parent_id上添加外键约束? 假设外键已启用。 大多数例子假设你正在创build表 – 我想将约束添加到现有的。
如果我想像这样删除我的数据库中的所有表,它会照顾外键约束吗? 如果不是,我该如何照顾呢? GO IF OBJECT_ID('dbo.[Course]','U') IS NOT NULL DROP TABLE dbo.[Course] GO IF OBJECT_ID('dbo.[Student]','U') IS NOT NULL DROP TABLE dbo.[Student]
我刚开始第一次使用外键,我想知道是否有一个标准的命名scheme使用它们? 鉴于这些表格: task (id, userid, title) note (id, taskid, userid, note); user (id, name) 任务具有Notes的位置,任务由用户拥有,而用户创buildNotes。 如何在这种情况下命名三个外键? 或者, 它甚至不重要 ? 更新 :这个问题是关于外键名称,而不是字段名称!
我正在使用MySQL Workbench来devise我的数据库模式,这很酷,因为你可以做图表并转换它们:P 无论如何,我决定使用InnoDB,因为它的外键支持。 我注意到的一件事是,它允许您设置“更新”和“删除外键选项”。 有人可以解释一下,“Restrict”,“Cascade”和set null可以用在一个简单的例子中吗? 例如,说我有一个user表,其中包括一个userID 。 并说我有一个消息表message ,这是一个多对多的有两个外键(引用相同的主键,在user表userID )。 在这种情况下设置“更新”和“删除”选项有用吗? 如果是这样,我select哪一个? 如果这不是一个好的例子,请你拿出一个很好的例子来说明这些可能有用吗? 谢谢