代码:
ALTER TABLE tblUser
DROP COLUMN Mobile
错误:
ALTER TABLE DROP COLUMN移动设备失败,因为一个或多个对象访问此列。
此列具有表中的值。如何删除访问此列的所有对象?
我如何DROP COLUMN
有价值观?
如何用代码完成?如何自动删除列中的所有约束?
答案 0 :(得分:1)
SQL Search是一个很棒的工具。我将搜索所有使用目标对象的对象。
您可以轻松找到列的使用位置,然后您也可以修改或删除这些对象。
答案 1 :(得分:1)
使用以下查询查找特定表名
的约束名称 .listing-table table th {
text-transform: uppercase;
font-size: 12px;}
.listing-table table th:first-letter {
font-size: 15px;
font-weight: bold; }
Noe您可以在constraint_name列下看到约束名称,使用以下语法删除所有约束
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'TABLENAME'
之后,您可以使用以下语句删除列
ALTER TABLE TABLENAME DROP CONSTRAINT CONSTRATINTSNAME
答案 2 :(得分:1)
ALTER TABLE DROP COLUMN Mobile failed because one or more objects access this column.
您的专栏不会被删除。因为要从此列中删除一列或多列的引用。
首先,您必须在下面的查询中找到您的列被引用到哪个表中。
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = 'TABLENAME'
它将显示当前数据库的所有表的所有约束。您需要找到它并删除约束。之后,您的列将被成功删除,因为任何表中都没有您的列的引用。
要从列中删除约束 - 请使用以下查询
alter table tablename
drop constraint constraintid
答案 3 :(得分:0)
您需要知道这些约束是什么以及它们的名称是什么以便放弃它们; SQL Server中没有任何内容可以说DROP ALL CONSTRAINTS并且只是这样做。 - 昨天marc_s