Справочное руководство по MySQL версии 4.1.1-alpha


1.10.4 Что должно быть сделано в ближайшем будущем - часть 2


Изменение: если пользовательские переменные обновляются, то сделать так, чтобы их можно было использовать с GROUP BY, как в следующем примере: SELECT id, @a:=COUNT(*), SUM(sum_col)/@a FROM table_name GROUP BY id.

  • Запретить автоматическое внесение DEFAULT-значений (значений по умолчанию) в столбцы. Выдавать ошибку в случае использования INSERT, не содержащего столбца, для которого не определено значение по умолчанию.

  • Исправить libmysql.c так, чтобы две команды mysql_query(), идущие подряд, могли работать без чтения результатов или с выдачей хорошего сообщения об ошибке, если это все-таки происходит.

  • Проверка, почему функция ctime() потоков MIT-pthreads не работает на некоторых FreeBSD системах.

  • Добавление опции IMAGE опции к LOAD DATA INFILE, чтобы не обновлять поля TIMESTAMP и AUTO_INCREMENT.

  • Добавляемый синтаксис LOAD DATE INFILE ... UPDATE.

  • Для таблиц с первичными ключами: если данные содержат первичный ключ, строки, соответствующие этому первичному ключу, обновляются остальными столбцами. Столбцы, которых нет во входных данных, остаются без изменений.

  • Для таблиц с первичными ключами, для которых отсутствует некоторая часть ключа во входном потоке данных или которые не имеют первичного ключа, входные данные интерпретируются сейчас как LOAD DATA INFILE ... REPLACE INTO.

  • Сделать понятный синтаксис LOAD DATA INFILE, подобно следующему:

    LOAD DATA INFILE 'file_name.txt' INTO TABLE tbl_name TEXT_FIELDS (text_field1, text_field2, text_field3) SET table_field1=CONCAT(text_field1, text_field2), table_field3=23 IGNORE text_field3

    Такой синтаксис может быть использован для пропуска лишних столбцов в текстовом файле или для обновления столбцов на основе выражений, построенных по прочитанным данным.

  • LOAD DATA INFILE 'file_name' INTO TABLE 'table_name' ERRORS TO err_table_name. Этот оператор задает запись всех ошибок и предупреждений в таблицу err_table_name, которая будет иметь структуру, подобную следующей:

    line_number - номер строки в файле данных error_message - сообщение об ошибке/предупреждение и, возможно data_line - строка из файла данных




    - Начало -  - Назад -  - Вперед -