Mysql создать таблицу если не существует. Добавление поля путем ввода данных


-

Создание таблицы

В простой базе данных, такой как список контактов, может быть всего одна таблица. Однако во многих базах данных используется несколько таблиц. При создании базы данных на компьютере создается файл, который используется как контейнер для всех ее объектов, включая таблицы.

Есть несколько способов создать таблицу: вы можете создать новую базу данных, вставить таблицу в существующую базу данных или импортировать таблицу из другого источника данных, например книги Microsoft Office Excel, документа Microsoft Office Word, текстового файла или другой базы данных, либо связать таблицу с этим источником. Когда вы создаете новую базу данных, в нее автоматически вставляется новая пустая таблица. Затем вы можете ввести в нее данные, чтобы начать определение полей.

Создание таблицы в новой базе данных

    Щелкните Файл > Создать и выберите пункт Пустая база данных рабочего стола .

    В поле Файл введите имя файла новой базы данных.

    Нажмите кнопку Создать .

    Откроется новая база данных, в которой будет создана и открыта в режиме таблицы новая таблица с именем "Таблица1".

Создание таблицы в существующей базе данных

    Щелкните файл > Открыть и выберите базу данных, если она указана в разделе Последние . В противном случае выберите один из вариантов поиска базы данных.

    В диалоговом окне Открытие файла базы данных найдите базу данных, которую вы хотите открыть,и нажмите кнопку Открыть .

    на вкладке Создание в группе Таблицы нажмите кнопку Таблица .

    В базу данных будет вставлена новая таблица, которая откроется в режиме таблицы.

Использование импорта или связывания для создания таблицы

Чтобы создать таблицу, вы можете импортировать данные из другого файла (например, из листа Excel, списка SharePoint, XML-файла, другой базы данных Access, папки Microsoft Outlook и т. д.) либо связать таблицу с ним.

При импорте данных создается их копия в новой таблице текущей базы данных. Последующие изменения, вносимые в исходные данные, не будут влиять на импортированные данные, и наоборот. После подключения к источнику и импорта данных можно использовать импортированные данные без подключения к источнику. В структуру импортированной таблицы можно вносить изменения.

Когда осуществляется связывание с данными, в текущей базе данных создается связанная таблица, обеспечивающая динамическое подключение к данным, хранящимся в другом месте. Изменения данных в связанной таблице отражаются в источнике, а изменения в источнике - в связанной таблице. Для работы со связанной таблицей необходимо подключение к источнику данных. Изменить структуру связанной таблицы нельзя.

Примечание: Нельзя изменять данные на листе Excel с помощью связанной таблицы. В качестве обходного способа можно импортировать исходные данные в базу данных Access, а затем создать связь с базой данных из Excel.

Создание таблицы с помощью импорта внешних данных или связи с ними

Создание таблицы с использованием сайта SharePoint

Для создания таблицы базы данных можно использовать импортировать список SharePoint или создать связь с ним. Кроме того, вы можете создать новый список SharePoint на основе готового шаблона. В Access доступны такие шаблоны, как "Контакты", "Задачи", "Вопросы" и "События".

    Откройте меню Файл и выберите команду Открыть .

    В диалоговом окне Открытие файла базы данных выберите базу данных, в которой вы хотите создать таблицу, и нажмите кнопку Открыть .

    На вкладке Создание в группе Таблицы нажмите кнопку Списки SharePoint .

    Выполните одно из указанных ниже действий.

    Создание списка SharePoint на основе шаблона

    1. Выберите пункт Контакты , Задачи , Вопросы или События .

      В диалоговом окне Создание нового списка

      Укажите имя нового списка и Описание .

    Создание настраиваемого списка

      Выберите пункт Другой .

      В диалоговом окне Создание нового списка введите URL-адрес сайта SharePoint, на котором вы хотите создать список.

      Введите имя и описание для нового списка в полях Укажите имя нового списка и Описание .

      Чтобы открыть связанную таблицу после ее создания, установите флажок Открыть список по окончании экспорта (он установлен по умолчанию).

    Импорт данных из существующего списка

      Выберите пункт .

      В диалоговом окне Внешние данные введите URL-адрес сайта SharePoint, содержащего данные, которые нужно импортировать.

      Выберите пункт Импортировать данные источника в новую таблицу в текущей базе данных и нажмите кнопку Далее .

      Установите флажки всех списков SharePoint, которые нужно импортировать.

    Связь со списком

      Выберите пункт Существующий список SharePoint .

      В диалоговом окне Внешние данные - сайт SharePoint введите URL-адрес сайта SharePoint, содержащего список, связь с которым нужно создать.

      Выберите пункт Создать связанную таблицу для связи с источником данных и нажмите кнопку Далее .

      Установите флажки всех списков SharePoint, связи с которыми нужно создать.

Создание таблицы с использованием веб-службы

В базе данных можно создать таблицу, подключенную к данным на веб-сайте с интерфейсом веб-службы. Таблицы веб-служб доступны только для чтения.

    На вкладке Внешние данные в группе Импорт и связи нажмите кнопку Дополнительно и выберите команду Службы данных .

    Если нужное подключение уже установлено, перейдите к действию 5. В противном случае перейдите к следующему действию.

    Нажмите кнопку Установить новое подключение .

    Выберите нужный файл подключения и нажмите кнопку ОК .

    В диалоговом окне Создание связи с данными веб-службы разверните нужное подключение.

    Выберите таблицу, связь с которой требуется создать. Ее поля отобразятся в правой части диалогового окна.

    Можно ввести имя связанной таблицы в поле Укажите имя ссылки . Access будет выводить это имя связанной таблицы в области навигации.

    Нажмите кнопку ОК . Будет создана связанная таблица.

Настройка свойств таблицы

Кроме настройки свойств полей, можно задать свойства, которые применяются ко всей таблице или ко всем записям.

Сохранение таблицы

После создания или изменения таблицы следует сохранить ее структуру. При первом сохранении таблице необходимо присвоить имя, описывающее содержащиеся в ней данные. Можно использовать до 64 знаков (букв или цифр), включая пробелы. Например, вы можете назвать таблицу "Клиенты", "Перечень запасных частей" или "Товары".

Access предоставляет вам гибкие возможности при именовании таблиц, однако есть и некоторые ограничения. Имя может сдержать до 64 знаков, включать любое сочетание букв, цифр, пробелов и специальных символов, за исключением точек (.), восклицательных знаков (!), квадратных скобок (), начального пробела, начального знака равенства (=) или непечатаемых символов, таких как возврат каретки. Кроме того, имя не должно содержать следующие символы: ` / \ : ; * ? " " < > | # { } % ~ &.

Совет: Договоритесь о том, по какому принципу будете называть объекты в базе данных, и следуйте этим правилам.

    Если вы сохраняете таблицу в первый раз, введите ее имя и нажмите кнопку ОК .

Настройка первичного ключа

Для таблицы следует задать первичный ключ, если только у вас нет веских оснований не делать этого. Access автоматически создает индекс для первичного ключа, что повышает производительность базы данных. Кроме того, Access гарантирует, что каждая запись имеет значение в поле первичного ключа и это значение всегда уникально. Это крайне важно, поскольку в противном случае нельзя надежно отличить одну строку от другой.

При создании таблицы в режиме таблицы Access автоматически создает первичный ключ с именем "Код" и присваивает ему тип данных "Счетчик".

Изменить или удалить первичный ключ, а также задать первичный ключ для таблицы, в которой его еще нет, можно в Конструкторе.

Определение полей, используемых в качестве первичного ключа

Иногда данные, которые можно использовать в качестве первичного ключа, уже есть. Например, у сотрудников уже могут быть идентификационные номера. Если вы создаете таблицу для отслеживания данных о сотрудниках, в качестве первичного ключа можно использовать их идентификаторы. Иногда идентификаторы сотрудников уникальны только в сочетании с кодами отделов; в этом случае в качестве первичного ключа необходимо использовать сочетание этих полей. Первичный ключ должен обладать следующими характеристиками:

    Значение данного поля или сочетания полей должно быть уникальным для каждой записи.

    Поле или сочетание полей не должно быть пустым (у них всегда должно быть значение).

    Значения не должны изменяться.

Если данных, подходящих на роль первичного ключа, нет, для этого можно создать новое поле. При создании поля для использования в качестве первичного ключа выберите для него тип "Счетчик" - это обеспечит соответствие трем характеристикам, указанным выше.

Настройка или изменение первичного ключа

Удаление первичного ключа

Если попытаться сохранить новую таблицу без первичного ключа, Access предложит создать поле для него. Если нажать кнопку Да , Access создаст поле "Код" с типом данных "Счетчик", в котором будет хранится уникальное значение для каждой записи. Если в таблице уже есть поле с типом "Счетчик", оно будет использовано в качестве первичного ключа. Если нажать кнопку Нет , Access не добавит новое поле и не задаст первичный ключ.

Добавление полей

Чтобы сохранить новый фрагмент данных для уже имеющейся таблицы Access, рекомендуется добавить в нее поле. Например, предположим, что есть таблица с полями, в которых указаны фамилия, имя, адрес электронной почты, номер телефона и почтовый адрес каждого клиента. Если нужно начать отслеживать предпочтительный способ связи для каждого клиента, для хранения таких данных добавляется поле.

Все элементы данных, которые необходимо отслеживать, хранятся в отдельных полях. Например, в таблице контактов можно создать поля "Имя", "Фамилия", "Телефон" и "Адрес", а в таблице товаров - поля "Название товара", "Код товара" и "Цена".

У каждого поля есть некоторые основные характеристики, например имя, которое уникальным образом определяет его в пределах таблицы, тип данных, указывающий на характер данных, операции, которые можно выполнять с данными, и объем места, выделяемого для каждого значения.

Прежде чем создавать поля, разделите данные на минимальные полезные элементы. Потом вам будет намного проще объединить данные, чем разделить их. Например, вместо поля "Полное имя" лучше создать отдельные поля "Имя" и "Фамилия". Благодаря этому вам будет проще искать и сортировать данные по имени, фамилии или их сочетанию. Если вы собираетесь создавать отчет, выполнять сортировку, поиск или вычисления по элементу данных, выделите его в отдельное поле.

Для поля можно задать свойства, определяющие его вид и поведение. Например, свойство Формат задает отображение данных в таблице или форме, включающей поле.

Добавление поля путем ввода данных

Чтобы при создании новой или открытии существующей таблицы в режиме таблицы добавить в нее поле, введите данные в столбец таблицы Добавить поле (1) . В зависимости от того, какое значение введено, тип данных для поля назначается автоматически. Если введенное значение не имеет определенного типа данных, Access выбирает текстовый тип, но при необходимости его можно изменить.

Ввод данных в столбец Добавить поле :

    Чтобы создать или открыть таблицу в режиме таблицы, в области навигации щелкните нужную таблицу правой кнопкой мыши и затем Режим таблицы .

    Введите имя создаваемого поля в столбец Добавить поле .

    Используйте описательное имя, помогающее идентифицировать поле.

    Введите данные в новое поле.

Добавление поля с помощью шаблона

Иногда проще выбрать поле из готового списка, чем создавать его вручную. Для выбора поля из списка шаблонов используется список Другие поля . Шаблон поля – это заданный набор характеристик и свойств, описывающих его. Определение шаблона поля включает имя поля, тип данных, значение свойства Формат и ряд других свойств.


Задание свойств полей

Для поля можно задать свойства, определяющие его вид и поведение.

Например, с помощью свойств поля можно:

    изменить вид данных в поле;

    предотвратить ввод неправильных данных в поле;

    задать для поля значение по умолчанию;

    ускорить поиск и сортировку по полю.

Некоторые свойства поля можно настроить в режиме таблицы, однако для доступа ко всем свойствам и их настройки необходимо использовать конструктор.

Настраиваемые свойства зависят от типа данных поля.

Задание свойств поля в режиме таблицы

В режиме таблицы можно переименовать поле, изменить его тип, свойство Формат и некоторые другие свойства.

    В области навигации щелкните правой кнопкой мыши таблицу, которую вы хотите открыть.

    В контекстном меню выберите пункт Режим таблицы .

Переименование поля

Когда вы добавляете поле путем ввода данных в режиме таблицы, Access автоматически присваивает ему универсальное имя. Первому новому полю назначается имя "Поле1", второму - "Поле2" и т. д. По умолчанию имя поля используется в качестве его метки везде, где поле отображается (например, в заголовке столбца таблицы). Если вы присвоите полям описательные имена, вам будет легче просматривать и изменять записи.

    Щелкните правой кнопкой мыши заголовок поля, которое требуется переименовать (например, "Поле1").

    В контекстном меню выберите пункт Переименовать поле .

    Введите новое имя в заголовок поля.

Изменение типа данных поля

При создании поля путем ввода данных в режиме таблицы приложение Access анализирует данные, чтобы определить подходящий тип данных для поля. Например, если ввести значение 01.01.2017 , Access распознает его как дату и назначит полю тип даты-времени. Если Access не может однозначно определить тип данных, по умолчанию полю назначается текстовый тип. (Короткий текст, если используется Access 2016).

Тип данных поля определяет, какие еще свойства вы можете для него задать. Например, свойство Только добавление можно задать только для поля с типом данных "Гиперссылка" или "Поле МЕМО" (или "Длинный текст" в Access 2016).

Бывают ситуации, когда нужно изменить тип данных поля вручную. Представьте, что вам нужно ввести номера комнат, напоминающие даты (например, 10.2017). Если ввести значение 10.2017 в новое поле в режиме таблицы, функция автоматического определения типа данных выберет для поля тип данных "Дата и время". Поскольку номера комнат являются метками, а не датами, для них должен быть установлен тип данных "Текст". Чтобы изменить тип данных поля, выполните указанные ниже действия.

Изменение формата поля

Кроме определения типа данных нового поля Access может задать для него значение свойства Формат , зависящее от введенных данных. Например, если ввести значение 10:50, Access выберет тип данных "Дата и время" и присвоит свойству Формат значение "Средний формат времени". Чтобы вручную изменить значение свойства Формат , сделайте следующее.

  1. На ленте откройте вкладку Поля . Если вы используете Access 2007, откройте вкладку Режим таблицы .

    В группе Форматирование в поле Формат введите нужный формат. Если вы используете Access 2007, в группе Форматирование и тип данных в списке Формат выберите нужный.

    Примечание: Для полей некоторых типов (например, текстовых) список Формат может быть недоступен.

Задание других свойств поля

    В режиме таблицы щелкните поле, для которого нужно задать свойство.

    На вкладке Поля в группах Свойства , Форматирование или Проверка поля выберите нужные свойства.

    Задание других свойств поля

    Примечание: Не все форматы доступны для всех типов данных. Сначала задайте тип данных, а затем при необходимости настройте формат.

    Перемещение поля

    Чтобы переместить поле, перетащите его на нужное место. Чтобы выбрать несколько соседних полей для перемещения, щелкните первое поле, и, удерживая нажатой клавишу SHIFT, щелкните последнее поле. После этого можно перетащить выделенную группу полей на новое место.

    При перетаскивании поля меняется его положение в таблице, порядок полей в конструкторе при этом не изменяется. При программном доступе к полям используется исходный порядок. Например, если перетащить поле в новое положение в режиме таблицы, а затем с помощью кнопки "Форма" создать на основе этой таблицы форму, поле будет расположено в исходном положении.

В предыдущем уроке мы узнали, как создать соединение с сервером БД. Следующий шаг - создание БД и таблиц.

Рассмотрим два способа создания БД и таблиц. Первый, как это делается в PHP, второй - с помощью более дружественной утилиты PhpMyAdmin, которая является стандартной на большинстве вэб-хостов и в XAMPP.

Если у вас на хосте есть сайт с поддержкой PHP и MySQL, БД, возможно, уже создана для вас, и вы можете пропустить это раздел урока и начать создавать таблицы. Не забывайте консультироваться со страницами помощи хоста.

Создание БД и таблиц с помощью PHP

Функция mysql_query используется для отправки запроса БД MySQL. Запросы записываются на языке S tructured Q uery L anguage (SQL). SQL - наиболее широко распространённый язык запросов БД - не только для БД MySQL - он очень логичен и прост для изучения. В этом и следующем уроках вы узнаете всё самое важное о SQL-запросах.

При создании БД используется SQL-запрос CREATE DATABASE с таким синтаксисом:

CREATE DATABASE имя БД

Легко и просто, не так ли!? Попробуем вставить это в PHP-скрипт:

Mysql_connect("mysql.myhost.com", "user", "sesame") or die(mysql_error()); mysql_query("CREATE DATABASE mydatabase") or die(mysql_error()); mysql_close();

Сначала соединяемся с MySQL-сервером. Затем создаём БД "mydatabase". И наконец - закрываем соединение с MySQL-сервером.

Пока неплохо... но всё несколько усложняется, когда мы хотим создать таблицы в PHP. При создании таблиц мы используем SQL-запрос CREATE TABLE с таким синтаксисом:

CREATE TABLE имя таблицы (имя_столбца1 ТИП_ДАННЫХ, имя_столбца2 ТИП_ДАННЫХ, имя_столбца3 ТИП_ДАННЫХ, ...)

имя_таблицы и имя_столбца это, понятное дело, соответствующие имена. ТИП_ДАННЫХ используется для специфицирования типа данных, вставляемых в столбец. Вот наиболее распространённые типы:

Целые числа Десятичные числа Краткий текст до 255 символов длиной Обычный текст до 65,535 символов Длинные куски текста до 4,294,967,295 символов Даты в формате ГГГГ-MM-ДД Время в формате ЧЧ:MM:СС Время и дата в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС

В целом логично и относительно просто. Попробуем вставить это в наш пример:

Mysql_connect("mysql.myhost.com", "user", "sesame") or die(mysql_error()); mysql_select_db("people") or die(mysql_error()); mysql_query("CREATE TABLE MyTable (id INT AUTO_INCREMENT, FirstName CHAR, LastName CHAR, Phone INT, BirthDate DATE PRIMARY KEY(id))") Or die(mysql_error()); mysql_close ();

В этом примере мы начинаем с соединения с MySQL-сервером. Затем используем функцию для выбора БД "people". Далее создаём таблицу "persons" из 5 столбцов.

Обратите внимание, что для столбца "id" мы используем для специфицирования того, что столбец содержит числа, а затем добавляем для автоматического инкремента этих чисел и гарантирования тог, что для каждого ряда будет сгенерирован уникальный ID.

В конце мы используем для установки столбца "id" как первичного ключа/primary key. Первичный ключ уникально идентифицирует каждую запись (/ряд) в таблице, что особенно пригодится при последующих обновлениях БД.

Создание БД и таблиц с использованием phpMyAdmin

Бывает полезно иметь возможность создавать БД и таблицы напрямую в PHP. Но часто проще использовать phpMyAdmin (или любую иную утилиту администрирования MySQL), которая является стандартной на большинстве вэб-хостов и в XAMPP. Скриншот ниже показывает, как создавать БД и таблицы с применением phpMyAdmin.

Создание таблиц данных MySQL требуется следующая информация:

  • название таблицы
  • Имя поля таблицы
  • Определение каждого поля таблицы

грамматика

Ниже приведена таблица данных SQL, чтобы создать общий синтаксис MySQL:

CREATE TABLE table_name (column_name column_type);

В следующем примере мы создадим таблицу данных в базе данных w3big w3big_tbl:

W3big_tbl(w3big_id INT NOT NULL AUTO_INCREMENT, w3big_title VARCHAR(100) NOT NULL, w3big_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY (w3big_id));

Примеры анализа:

  • Если вы не хотите, чтобы поле NULL может установить поле атрибута NOT NULL, когда функционирование базы данных, если поле данных ввода является NULL, ошибка.
  • AUTO_INCREMENT определяется как самовозбуждение свойства, как правило, используются для первичного ключа автоматически увеличивается на единицу.
  • PRIMARY KEY ключевое слово используется для определения столбца первичного ключа. Вы можете использовать несколько столбцов, чтобы определить столбцы первичного ключа, разделенных запятой между ними.

Создание таблицы из командной строки

По MySQL> окно командной строки может быть очень простой, чтобы создать таблицу MySQL. Вы можете использовать SQL TABLE оператор CREATE , чтобы создать таблицу данных.

примеров

Root@host# mysql -u root -p Enter password:******* mysql> use w3big; Database changed mysql> CREATE TABLE w3big_tbl(-> w3big_id INT NOT NULL AUTO_INCREMENT, -> w3big_title VARCHAR(100) NOT NULL, -> w3big_author VARCHAR(40) NOT NULL, -> submission_date DATE, -> PRIMARY KEY (w3big_id) ->); Query OK, 0 rows affected (0.16 sec) mysql>

Примечание: MySQL команда терминатора является точкой с запятой (;).

Создание таблицы данных с помощью PHP-скрипта

Вы можете использовать функцию в PHP mysql_query () для создания таблицы базы данных данных уже существует.

Эта функция имеет два параметра, в реализации успешных возвращается TRUE, в противном случае возвращает FALSE.

грамматика

bool mysql_query(sql, connection);

примеров

В следующем примере используется PHP скрипт для создания таблицы данных:

创建 MySQL 数据表 "; $sql = "CREATE TABLE w3big_tbl(". "w3big_id INT NOT NULL AUTO_INCREMENT, ". "w3big_title VARCHAR(100) NOT NULL, ". "w3big_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY (w3big_id)); "; mysql_select_db("w3big"); $retval = mysql_query($sql, $conn); if(! $retval) { die("数据表创建失败: " . mysql_error()); } echo "数据表创建成功\n"; mysql_close($conn); ?>

Вот универсальный синтаксис SQL для создания таблиц MySQL:

CREATE TABLE table_name (column_name column_type);

Теперь, мы создадим следующую таблицу в учебники базы данных.

Tutorials_tbl(tutorial_id INT NOT NULL AUTO_INCREMENT, tutorial_title VARCHAR(100) NOT NULL, tutorial_author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY (tutorial_id));

Вот несколько пунктов, которые нуждаются в пояснении:

  • Поле атрибута не равно NULL , используется потому что мы не хотим, чтобы она была нулем. Поэтому если пользователь попытается создать запись со значением NULL, то MySQL будет вызвана ошибка.
  • Поле атрибута auto_increment в MySQL не говорит, чтобы идти вперед и добавить следующий доступный номер в поле ID.
  • Ключевое слово первичный ключ используется для определения столбца в качестве первичного ключа. Вы можете использовать несколько столбцов, разделенных запятыми, чтобы определить первичный ключ.

Создание таблиц из командной строки:

Это легко создать MySQL таблицу из MySQL> подсказка. Вы будете использовать команды SQL создать таблицу чтобы создать таблицу.

Пример:

Вот пример, который создает tutorials_tbl:

Root@host# mysql -u root -p Enter password:******* mysql> use TUTORIALS; Database changed mysql> CREATE TABLE tutorials_tbl(-> tutorial_id INT NOT NULL AUTO_INCREMENT, -> tutorial_title VARCHAR(100) NOT NULL, -> tutorial_author VARCHAR(40) NOT NULL, -> submission_date DATE, -> PRIMARY KEY (tutorial_id) ->); Query OK, 0 rows affected (0.16 sec) mysql>

Создание таблиц с помощью PHP скрипта:

Чтобы создать новую таблицу в любой существующей базы данных необходимо использовать функции PHP функции mysql_query(). Вы будете проходить свой второй аргумент при правильной команды SQL для создания таблицы.

Пример:

Вот пример создания таблицы с помощью PHP скрипта:

Creating MySQL Tables "; $sql = "CREATE TABLE tutorials_tbl(". "tutorial_id INT NOT NULL AUTO_INCREMENT, ". "tutorial_title VARCHAR(100) NOT NULL, ". "tutorial_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY (tutorial_id)); "; mysql_select_db("TUTORIALS"); $retval = mysql_query($sql, $conn); if(! $retval) { die("Could not create table: " . mysql_error()); } echo "Table created successfullyn"; mysql_close($conn); ?>

Еще примеры:

CREATE TABLE IF NOT EXISTS `users` (`id` int(11) NOT NULL auto_increment, `role_id` int(11) NOT NULL default "1", `username` varchar(25) collate utf8_bin NOT NULL, `password` varchar(34) collate utf8_bin NOT NULL, `email` varchar(100) collate utf8_bin NOT NULL, `banned` tinyint(1) NOT NULL default "0", `ban_reason` varchar(255) collate utf8_bin default NULL, `newpass` varchar(34) collate utf8_bin default NULL, `newpass_key` varchar(32) collate utf8_bin default NULL, `newpass_time` datetime default NULL, `last_ip` varchar(40) collate utf8_bin NOT NULL, `last_login` datetime NOT NULL default "0000-00-00 00:00:00", `created` datetime NOT NULL default "0000-00-00 00:00:00", `modified` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=3 ; //С двумя ключами: CREATE TABLE IF NOT EXISTS `ci_sessions` (session_id varchar(40) DEFAULT "0" NOT NULL, ip_address varchar(16) DEFAULT "0" NOT NULL, user_agent varchar(120) NOT NULL, last_activity int(10) unsigned DEFAULT 0 NOT NULL, user_data text NOT NULL, PRIMARY KEY (session_id), KEY `last_activity_idx` (`last_activity`));