|
|
|
|
|
для: Gush
(05.06.2005 в 02:22)
| | Это кодировка и сортировка по умолчанию - теперь можно кондировку назначить базе данных, отдельной таблице и даже столбцу... т.е. в одной таблице может находиться два столбца с кодировками win1251 и koi8-r и в обоих столбцах сортировка по-русски будет проводится корректно.
PS Из-за этого нововведения проблема с доступом к базе данных из PHP - библиотеку пока не обновили и PHP не дружит с MySQL 4.1 в плане русского языка. | |
|
|
|
|
автор: Gush (05.06.2005 в 02:22) |
|
|
для: Gush
(05.06.2005 в 01:55)
| | Скачал и поставил 4.1.12. Буду проверять. Какой-то новый раздел появился в базе
"Сравнение", стоит "latin1swedish ci" | |
|
|
|
|
автор: Gush (05.06.2005 в 01:55) |
|
|
для: cheops
(05.06.2005 в 01:39)
| | Плохо. Эта версия у меня на локальной машине, на хосте кажется другая. На самом деле это был упрощёный вариант более сложного запроса, при котором брались идентификаторы из 1-й таблицы по условию, потом через UNION подключались идентификаторы из второй таблицы, за исключением уже найденных в первой.
SELECT id FROM tbl1 WHERE ..(условие)... UNION SELECT id FROM tbl2 WHERE ...(условие)... AND id NOT IN (SELECT id FROM tbl1 WHERE ..(условие)..) ORDER BY 1 ;
|
| |
|
|
|
|
|
|
|
для: Gush
(05.06.2005 в 01:33)
| | К сожалению с 4.0.22 такой запрос не пройдёт :( Вложенные запросы появились только в 4.1, на 4.0.22 придётся реализовывать этот запрос через два или прибегнуть к многотабличному запросу вида
SELECT tbl1.id FROM tbl1,tbl2 WHERE tbl1.id != tbl2.id GROUP BY tbl1.id
|
| |
|
|
|
|
автор: Gush (05.06.2005 в 01:33) |
|
|
для: cheops
(05.06.2005 в 01:27)
| | Версия MySQL 4.0.22. Да с ANY я ошибся, нужно NOT IN или <> ALL , но всё равно ошибка! | |
|
|
|
|
|
|
|
для: Gush
(05.06.2005 в 01:10)
| | Это MySQL и если да, то какая версия, поддержка вложенных запросов в этой СУБД появилась только в версии 4.1, кроме того вместо конструкции <>ANY следует использовать NOT IN
SELECT id FROM tbl1 WHERE id NOT IN (SELECT id FROM tbl2)
|
| |
|
|
|
|
автор: Gush (05.06.2005 в 01:10) |
|
| Запрос извлекает идентификаторы записей из таблицы 1, которых нет в таблице 2.
SELECT id FROM tbl1 WHERE id <>ANY (SELECT id FROM tbl2)
|
Вылетает ошибка #1064 | |
|
|
|
|