INSERT INTO table [(column_name, ...)] VALUES (expression,...) ||
INSERT INTO table [(column_name, ...)] SELECT ...
ОПИСАНИЕ:
Вставляет данные в таблицу.
В выражении можно использовать любое предыдущее поле в списке column_name (или таблицу, если список имен столбцов не задан).
При использовании SELECT вы не можете указать ORDER BY.
Вы можете использовать функцию C API mysql_info для получения строки:
@result{Records: 220 Duplicates: 1 Warnings: 1}
Records показывает число записей, возвращенных SELECT'ом.
Duplicates = число строк, которые не могли быть вставлены из-за дублирования ключей.
Warnings = счетчик числа столбцов в запросе SELECT, которые равны NULL, но были объявлены как NOT NULL для таблицы, в которую Вы вставляете результаты. Столбцы получат значение по умолчанию (помните: в MySQL все NOT NULL столбцы имеют значение по умолчанию!). Если Вы не объявляли при создании таблицы это самое значение, оно будет автоматически назначено, основанным на типе поля.
Если Вы желаете вставить NULL в данное значение, Вы должны сделать это, не определяя значение для поля, в которое Вы желаете вставить NULL.
ПРИМЕР:
INSERT INTO Customer(customer_name,customer_contact)
VALUES("Joes Wholesale","Joe Smith")
Этот запрос создаст новую запись в таблице Customer, которая будет содержать автоматически сгенерированный customer_id, и значения, определенные в запросе. Все другие поля будут пустыми (NULL).
Вы также можете использовать SELECT для копирования элементов из одной таблицы в другую. MySQL поддерживает ограниченную форму запросов sub, для выполнения этой возможности.
Вы должны иметь права доступа insert для использования этой команды.