MySQL 5.0. Библиотека программиста | страница 40
Таблицы MyISAM не поддерживают объединение нескольких операций в единую транзакцию, поэтому, в частности, невозможно автоматическое поддержание целостности связей между такими таблицами. Однако таблицы MyISAM также часто используются: их преимуществом является высокая скорость выполнения поисковых запросов и меньшая нагрузка на системные ресурсы. Если при настройке сервера MySQL (о ней вы узнали из главы 1) вы выбрали в качестве типа базы данных вариант Multifunctional Database (Многофункциональная база данных) или Transactional Database Only (Транзакционная база данных), либо если вы настраивали сервер в стандартном режиме (в этом случае тип базы данных был задан автоматически), то по умолчанию применяется тип таблиц InnoDB. В этом случае, если требуется создать таблицу с типом MyISAM, добавим в команду создания таблицы выражение ENGINE MyISAM. Если же при настройке вы предпочли вариант Non-Transactional Database Only (Нетранзакционная база данных), то по умолчанию применяется тип таблиц MyISAM, а таблицы типа InnoDB не поддерживаются.
Все таблицы нашего примера (см. листинги 2.2–2.4) были созданы с параметром ENGINE InnoDB. Это дало нам возможность настроить внешние ключи в таблице Orders (Заказы) для поддержания целостности связей этой таблицы с таблицами Customers (Клиенты) и Products (Товары). Вместо ключевого слова ENGINE можно использовать его синоним – слово TYPE.
• AUTO_INCREMENT <Начальное значение>.
Задание этого свойства для таблицы, в которой есть столбец со свойством AUTO_INCREMENT, позволяет начать нумерацию в этом столбце не с единицы, а с указанного вами значения. Например, если номера заказов должны начинаться с 1000, нужно в команду создания таблицы Orders (см. листинг 2.4) включить параметр AUTO_INCREMENT 1000.
• CHARACTER SET <Имя кодировки>.
Данный параметр определяет кодировку по умолчанию для символьных столбцов таблицы.
Все таблицы нашего примера (см. листинги 2.2–2.4) были созданы с параметром CHARACTER SET utf8. Поэтому все данные о клиентах и товарах будут храниться в этой кодировке.
Если не задана кодировка для таблицы, то по умолчанию используется кодировка, установленная для базы данных. Если и для базы данных кодировка не была указана, то используется кодировка, установленная по умолчанию при настройке MySQL. Подробнее о кодировках и правилах сравнения символьных значений было сказано в разделе «Создание базы данных».
• COLLATE <Имя правила сравнения>.