MySQL каскадное жесткое удаление дочерней строки при программном удалении родительской строки без использования триггера: возможно ли это?

#mysql

#mysql

Вопрос:

Я использую MySQL версии 5.6.47-87.0

У меня есть родительская таблица с именем parentTable и дочерняя таблица с именем childTable , вот сценарии для создания этих таблиц:

 CREATE TABLE `parentTable` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `customerId` int(10) unsigned NOT NULL,  
  `modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `deleted` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=251046 DEFAULT CHARSET=utf8;


CREATE TABLE `childTable` (
  `parentId` int(10) unsigned NOT NULL,
  `name` varchar(255) NOT NULL,
  `description` text
  PRIMARY KEY (`parentId`),
  CONSTRAINT `childtable_parentid_foreign` FOREIGN KEY (`parentId`) REFERENCES `parentTable` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  

Поскольку дочерняя запись в childTable жестко удаляется, когда соответствующая запись в parentTable жестко удаляется.

Можно ли без использования триггера настроить это так, чтобы запись в childTable жестко удалялась, когда соответствующая запись в parentTable мягко удалялась (Т. Е. Когда parentTable.deleted столбец обновляется значением, его больше NULL нет)?

Комментарии:

1. Я так не думаю. MySQL ничего не знает о мягком удалении, это на уровне приложения.

2. @Barmar Я думал, что это так, но опубликовал этот вопрос в надежде, что кто-нибудь знает способ. Спасибо!