我需要删除SQL Server数据库中高度引用的表.如何获取我需要删除的所有外键约束的列表以便删除表?
(在管理工作室的GUI中,SQL答案比点击更好.)
我想从我的表中删除约束.我的查询是:
ALTER TABLE `tbl_magazine_issue`
DROP CONSTRAINT `FK_tbl_magazine_issue_mst_users`
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误:
#1064- 您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便FK_tbl_magazine_issue_mst_users在第1行的"约束" 附近使用正确的语法
我有桌子,我已经尝试设置PK FK关系,但我想验证这一点.如何显示PK/FK限制?我看到了这个手册页,但它没有显示示例,我的谷歌搜索也没有结果.我的数据库是credentialing1和我的约束表是practices和cred_insurances.
我需要更改现有数据库以添加列.因此,我还想更新UNIQUE字段以包含该新列.我正在尝试删除当前索引,但一直收到错误MySQL Cannot drop index needed in a foreign key constraint
CREATE TABLE mytable_a (
ID TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(255) NOT NULL,
UNIQUE(Name)
) ENGINE=InnoDB;
CREATE TABLE mytable_b (
ID TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(255) NOT NULL,
UNIQUE(Name)
) ENGINE=InnoDB;
CREATE TABLE mytable_c (
ID TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(255) NOT NULL,
UNIQUE(Name)
) ENGINE=InnoDB;
CREATE TABLE `mytable` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`AID` tinyint(5) NOT NULL,
`BID` tinyint(5) …Run Code Online (Sandbox Code Playgroud) 我正在尝试解析MySQL 文档.他们可以更清楚.他们似乎在说的是有五种可能性:SET NULL,NO ACTION,RESTRICT,CASCADE和SET DEFAULT.
NO ACTION和RESTRICT做同样的事情(防止任何破坏FK的DB更改)并且那个东西是默认的,所以如果省略ON DELETE子句你就说NO ACTION(或RESTRICT - 同样的事情).
SET NULL允许删除父行,将FK设置为NULL.
CASCADE删除子行.
应该永远不要使用SET DEFAULT.
这或多或少是正确的吗?
我有一个包含150多张桌子的大型数据库,我最近已经提交过了.我只是想知道是否有一种简单的方法来查看整个数据库的所有外键约束,而不是基于每个表.
如何找到所有MySQL表之间的所有关系?例如,如果我想知道具有大约100个表的数据库中的表的关系.
反正知道这个吗?
对于给定的表'foo',我需要一个查询来生成一组具有指向foo的外键的表.我正在使用Oracle 10G.
mysql ×6
database ×3
foreign-keys ×3
sql ×2
alter ×1
constraints ×1
innodb ×1
oracle ×1
oracle10g ×1
relation ×1
relationship ×1
sql-server ×1
t-sql ×1