|
|
|
| Здравствуйте!
Вот возникли вопросы по книге от SoftTime:
с.135 "Если при помощи CHANGE изменяется только тип столбца, но не его имя..." как так, ведь на предыдущей странице Вы писали, что именно ключевое слово CHANGE позволяет изменить имя столбца? - "Ключевое слово MODIFY в операторе ALTER TABLE не позволяет изменить имя столбца, для этого предназначено ключевое слово CHANGE".
с.135 Листинг 10.7.
А зачем именно так решать задачу смены типа столбца id_second с TEXT на INT, а типа столбца rebate с INT на TEXT, при этом разместив столбцы в конце таблицы?
Мне кажется, проще было бы сделать так:
ALTER TABLE products
MODIFY id_second INT AFTER id_catalog,
MODIFY rebate TEXT AFTER id_catalog;
|
Спасибо. | |
|
|
|
|
|
|
|
для: Mookapek
(31.08.2007 в 17:18)
| | 1) Да, это ошибка, спасибо, конечно, имелось в виду имя столбца
2) Да, можно и так. | |
|
|
|
|
|
|
|
для: cheops
(01.09.2007 в 09:52)
| | На стр. 204 написано 'Функция SQPT'.
Стр. 91, листинг 6.10.
Вместо id_catalog написано is_catalog.
Стр. 129. Оператор REPLACE.
'Синтаксис оператора RENAME аналогичен...' | |
|
|
|
|
|
|
|
для: Unknown
(02.09.2007 в 23:26)
| | Большое спасибо, обязательно исправим эти досадные опечатки, если будет принято решение о переиздании книги. | |
|
|
|
|
|
|
|
для: Unknown
(02.09.2007 в 23:26)
| | стр. 154
"...оператор CREATE DATABASE, позволяющий создать таблицу..." TABLE вместо DATABASE | |
|
|
|
|
|
|
|
для: Mookapek
(31.08.2007 в 17:18)
| | с.128 Листинг 9.4.
"Пусть теперь необходимо для десяти самых дешевых товарных позиций уменьшить число товарных позиций на складе на одну единицу, а цену - на 5%. Решить эту задачу позволяет запрос, представленный в листинге 9.4." ...однако запроса, решающего эту задачу в листинге нет, поэтому полагаю, что запрос там должен выглядеть примерно так:
UPDATE products SET count = (count-1), price = price-(price*0.05)
ORDER BY price LIMIT 10;
|
| |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | с.67
"Например, строки '2005091528' и ..."
Правильно - "Например, строки '20050523091528' и ...". | |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | c. 288
"Оператор SOUND LIKE"
Правильно пишется "Оператор SOUNDS LIKE". | |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | с. 290
"Извлечение всех записей, содержащих подстроку HGz"
Правильно:
"Извлечение всех записей, содержащих подстроку GHz". | |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | с. 317
"Функция BIT_OR()..."
Правильно:
"Функция BIT_XOR()..."
с. 318
"001 (7)"
Правильно:
"001 (1)" | |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | с. 322
Запрос из листинга 19.18 неправильный:
SELECT GROUP_CONCAT(price ORDER BY id_product DESC)
FROM products GROUP BY id_catalog;
|
Здесь цены в строках расположены не по убыванию, а в разнобой. К тому отсутствует конструкция AS str.
Правильно:
SELECT GROUP_CONCAT(price ORDER BY price DESC) AS str
FROM products GROUP BY id_catalog;
|
| |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | . | |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | . | |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | с. 331
"Если число одного вида товаров не менее 5, то напротив данной товарной позиции будет выведена надпись "Достаточно", в противном случае выведем надпись "Заканчивается".
SELECT name, count,
IF(count > 5, 'Достаточно', 'Заканчивается') AS status
FROM products LIMIT 10;
|
Правильно:
SELECT name,
count,
IF(count>= 5, 'Достаточно', 'Заканчивается') AS status
FROM products LIMIT 10;
|
| |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | . | |
|
|
|
|
|
|
|
для: Mookapek
(17.10.2007 в 18:30)
| | . | |
|
|
|
|
|
|
|
для: Mookapek
(03.09.2007 в 15:36)
| | с. 333
Вместо "Информационные функции..." написано "Информационной функции...".
с. 338
SET SQL_AUTO_IS_NULL = 1;
Правильно:
SET SQL_AUTO_IS_NULL = 0; | |
|
|
|