Следуя вашему коду, оба не одинаковы.
Заменить
for(j in 2 : (i-1))
на
for(j in 2 : i)
Вероятно, было бы лучше отказаться от const
(почему вы все равно настаивали бы на этом?) .
В противном случае вам нужно создать конкатенационный итератор. Код довольно большой, подробнее см. в этой теме .
они просто делают некоторые неправильные запросы неудачными.Если у вас есть такие отношения:
CREATE TABLE department (id INT NOT NULL)
CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id))
, то вы не можете удалить отдел
, если у него есть сотрудник
.
Если указать ON DELETE CASCADE
для определения FOREIGN KEY
, ссылочные строки будут автоматически удалены вместе со ссылочными.
В качестве ограничения, FOREIGN KEY
на самом деле немного замедляет запросы.
Дополнительная проверка должна выполняться при удалении из ссылочной таблицы или вставке в ссылочную таблицу.
ссылочные строки будут автоматически удалены вместе со ссылочными. В качестве ограничения FOREIGN KEY
фактически немного замедляет запросы.
Дополнительная проверка должна выполняться при удалении из ссылочной таблицы или вставке в ссылочную таблицу.
ссылочные строки будут автоматически удалены вместе со ссылочными. В качестве ограничения FOREIGN KEY
фактически немного замедляет запросы.
Дополнительная проверка должна выполняться при удалении из ссылочной таблицы или вставке в ссылочную таблицу.
Основными преимуществами использования реальных внешних ключей являются обеспечение целостности данных и возможность настройки каскадных действий для связанных элементов. когда что-то изменяется или удаляется.
Например, представьте, что вы программируете форум. У вас есть таблица «themes» с первичным ключом themes.topic_id
, и у вас есть таблица «posts», где сообщения прикрепляются к темам с помощью столбца posts.topic_id
, который является внешний ключ к таблице тем.
Это отношение внешнего ключа гарантирует, что каждое сообщение прикреплено к допустимой теме. Если у вашей единственной темы есть ID # 1, в базе данных, прикрепленной к теме № 2, не может быть поста. База данных обеспечивает это.
Для каскадного преимущества, Вы можете настроить его так, чтобы при удалении темы из таблицы тем база данных автоматически удаляла все сообщения в таблице сообщений, которые были прикреплены к этой теме. Это хорошо, потому что он удаляет шаг, который вы должны помнить, чтобы сделать вручную, который может быть довольно сложным, когда у вас есть много связанных таблиц. С внешними ключами все отношения могут быть очищены автоматически.
Основным преимуществом является то, что вы можете ограничить, какие значения вы можете ввести в таблицу; если вы попытаетесь ввести значение, которого нет в ссылочной таблице, вы не сможете это сделать.
Кроме того, если вы обновите или удалите значение в ссылочной таблице, вы можете установить его на автоматически обновите значение или удалите в каскаде любую строку, содержащую это значение.
Это действительно отличная функция, использующая ваш код.