Что лучший способ состоит в том, чтобы освободить самосправочную таблицу MySQL?

Один лайнер:

Object.assign(document.createElement('a'), { target: '_blank', href: 'URL_HERE'}).click();

или

С помощью jQuery я использую этот:

var url = "http://google.com";
$("<a>").attr("href", url).attr("target", "_blank")[0].click();

Он создает виртуальную a элемент, дает ему target="_blank", поэтому он открывается в новой вкладке, дает ему url href и затем нажимает на него.

И если вы хотите, на основе этого вы можете создать некоторую функцию:

function openInNewTab(url) {
    $("<a>").attr("href", url).attr("target", "_blank")[0].click();
}

, а затем вы можете использовать его как:

openInNewTab("http://google.com");

Для сценария, отличного от jQuery, функция будет выглядеть так:

function openInNewTab(url) {
    var a = document.createElement("a");
    a.target = "_blank";
    a.href = url;
    a.click();
}

// And then
openInNewTab("http://google.com");
17
задан Mat 5 March 2009 в 17:42
поделиться

5 ответов

Почему нет:

UPDATE 'recursive' SET 'parent_id' = NULL WHERE 'parent_id' IS NOT NULL;
DELETE FROM 'recursive';

?

26
ответ дан 30 November 2019 в 11:22
поделиться

Если Вы просто хотите освободить все это, для тестирования используйте:

SET FOREIGN_KEY_CHECKS = 0;

// Execute Query

SET FOREIGN_KEY_CHECKS = 1;

Это полностью обходит любые проверки внешнего ключа.

17
ответ дан 30 November 2019 в 11:22
поделиться

Ну, Вы могли добавить ON DELETE CASCADE к FOREIGN KEY определение... по крайней мере временно. Это позволило бы Вам усекать таблицу путем удаления строк, на которые ссылаются, сначала.

существуют другие ON DELETE типы также; значение по умолчанию ON DELETE NO ACTION.

1
ответ дан 30 November 2019 в 11:22
поделиться

Или просто удалите (рекурсивное) ограничение внешнего ключа, затем усеките таблицу, затем повторно добавьте ограничение.

0
ответ дан 30 November 2019 в 11:22
поделиться

Неоднократно выбирайте строки, которые не появляются как родители и удаляют их, пока таблица не пуста. (Принимающий нет никаких циклов...)

-1
ответ дан 30 November 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: