MySQL 5.0 - Библиотека Программиста

Печать

Листинг 2.5. Команда добавления строк в таблицу Products

INSERT INTO Products (description,details,price) VALUES

('Обогреватель Мосбытприбор ВГД121R',

'Инфракрасный обогреватель. 3 режима нагрева:

400 Вт, 800 Вт, 1200 Вт','1145.00'),

('Гриль Мосбытприбор СТ-14',

'Мощность 1440 Вт. Быстрый нагрев. Термостат.

Цветовой индикаторработы','2115.00'),

('Кофеварка Мосбытприбор ЕКЛ-1032',

'Цвет:черный. Мощность:450 Вт.

Вместительность:2 чашки','710.00'),

('Чайник Мосбытприбор МН',

'Цвет:белый. Мощность:2200 Вт. Объем:2 л','925.00'),

('УтюгМосбытприбор c паром АБ 200',

'Цвет:фиолетовый. Мощность:1400 вт','518.00');

Эта команда добавляет значения в столбцы description (наименование), details (описание) и price (цена) таблицы Products. При этом в столбец id (идентификатор) автоматически вносятся порядковые номера строк, поскольку этот столбец имеет тип данных SERIAL (см. листинг 2.3).

Теперь, когда данные внесены и в таблицу Customers (Клиенты) (в предыдущем подразделе было рассказано, как загрузить в эту таблицу данные из файла), и в таблицу Products, можно заполнять таблицу Orders (Заказы). Напомню, что каждая строка таблицы Orders ссылается на строку таблицы Customers и строку таблицы Products, и в момент добавления строки в таблицу Orders соответствующие строки в таблицах Customers и Products должны уже существовать. Внесите в таблицу Orders сведения о заказах, выполнив команду, представленную в листинге 2.6.

Листинг 2.6. Команда добавления строк в таблицу Orders

INSERT INTO Orders VALUES

(1012,'2007-12-12',5,8,'4500',533),

(1013,'2007-12-12',2,14,'22000',536),

(1014,'2008-01-21',5,12,'5750',533);

Если вы пытаетесь добавить в таблицу некорректное значение, то результат выполнения команды INSERT зависит от того, в каком режиме ваше клиентское приложение взаимодействует с сервером MySQL. Остановимся на этом подробнее.

Узнать, в каком режиме вы в данный момент работаете, можно с помощью команды SHOW VARIABLES LIKE 'sqlmode';

Эта команда показывает значение переменной sql_mode. Если в значении нет ключевых слов STRICT_TRANS_TABLES и STRICT_ALL_TABLES, это означает, что сервер работает в нестрогом режиме.

В нестрогом режиме вставляемое некорректное значение преобразуется в допустимое, в частности

• некорректная дата заменяется нулевой датой (0000-00-00 00:00:00);

83




Недорогой хостинг с mysql и php.