Страница 79 из 250 Листинг 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
|