Я пытаюсь удалить строки из таблицы в SQL Server 2008 с ни ограничениями внешнего ключа, ни любыми триггерами. Когда я проверяю раздел сообщения, он показывает затронутые строки, но когда я проверяю таблицу, строки все еще присутствуют. Прикреплено изображение для справки. Я очень уверен, что нет никаких ограничений для этой таблицы. В чем может быть проблема?Невозможно удалить строку в таблице без ограничений внешнего ключа
ответ
Вы можете использовать систа таблицу для запроса constrints, ключи и т.д. Основываясь на этих результатах, вы можете удалить из таблицы. Ниже приведен пример запроса, который возвращает ограничения таблицы.
SELECT
TableName = t.Name,
ColumnName = c.Name,
dc.type,
dc.type_desc,
dc.name,
dc.definition
FROM sys.tables t
INNER JOIN sys.default_constraints dc ON t.object_id = dc.parent_object_id
INNER JOIN sys.columns c ON dc.parent_object_id = c.object_id AND c.column_id = dc.parent_column_id
where t.name = 'yourtablename'
ORDER BY t.Name
Если действительно нет триггера на столе вы удаляете из, а затем изучить все связанные таблицы, которые имеют FKs к таблице вы удаляете из (и, в свою очередь, всех FKs в этих таблицы). У FKs было бы установлено ON DELETE CASCADE
так, чтобы удаление фактически работало (вместо того, чтобы бросать ошибку), только триггер в любой из этих таблиц FK-поддержки мог бы сразу повторно добавить строки.
Вы не обязательно видеть rows affected
сообщение для всех этих возможных операций запуска, так как триггеры могут установить SET NOCOUNT ON
, прежде чем делать какие-либо DML ...
- 1. Невозможно удалить объекты из-за ограничений внешнего ключа
- 2. Избегайте ограничений внешнего ключа
- 3. Добавление ограничений внешнего ключа блокирует таблицу
- 4. Добавление ограничений внешнего ключа в архивных таблицах
- 5. sqlalchemy, нарушение ограничений внешнего ключа
- 6. В базе данных нет ограничений внешнего ключа.!
- 7. Невозможно вставить в базу данных из-за ограничений внешнего ключа
- 8. для проверки ограничений для внешнего ключа
- 9. Невозможно вставить значение внешнего ключа в таблице ссылок
- 10. Невозможно удалить ограничение внешнего ключа не удается
- 11. Включение ограничений внешнего ключа в SQLite
- 12. При применении ограничений DELETE, как удалить записи в дочерней таблице
- 13. Невозможно добавить поле без внешнего ключа
- 14. Получение внешнего ключа в таблице
- 15. Sails.js: Является ли Waterline ORM безопасным без ограничений внешнего ключа?
- 16. SQL Server: найти отношения между таблицами без ограничений внешнего ключа
- 17. Laravel 5.1: Включение ограничений внешнего ключа SQLite
- 18. mongoDB альтернативы для ограничений внешнего ключа
- 19. Изменение соглашения об именовании ограничений внешнего ключа
- 20. Как hibernate генерирует имена ограничений внешнего ключа?
- 21. MySQL Обновление/добавление ограничений внешнего ключа
- 22. Добавление ограничений внешнего ключа к существующим столбцам
- 23. Программный ввод ограничений внешнего ключа таблицы
- 24. SQL: создание множественного внешнего ключа и ограничений
- 25. Невозможно добавить ограничение внешнего ключа
- 26. Вставить строку в таблицу без ввода обязательного внешнего ключа
- 27. Невозможно добавить или обновить дочернюю строку: нарушение внешнего ключа
- 28. Не удается удалить строку из-за ограничения внешнего ключа
- 29. Внедрение внешнего ключа в таблице mysql
- 30. MySQL: удалите строку, игнорирующую ограничение внешнего ключа
, что ограничение вы имеете в виду. Пожалуйста, укажите ограничение – PyNoob
(я не вижу изображение, srry) Вы уверены, что удаляете и выбираете из той же таблицы? (Та же самая база данных/одна и та же схема) – mxix
первичные/внешние ключи или ограничения по умолчанию. – whywake