powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Еще раз об ошибке ERROR 1067 (42000)
9 сообщений из 9, страница 1 из 1
Еще раз об ошибке ERROR 1067 (42000)
    #39680857
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При создании таблицы следующим запросом:

Create Table If Not Exists `tbSettingsLog`
(`biID` BigInt UnSigned Not Null Primary Key Auto_Increment Comment 'Уникальный идентификатор',
`biIDMain` BigInt UnSigned Not Null Comment 'Идентификатор записи в основной таблице',
`bIsDeletableDefault` Boolean Default 0 Not Null,
`tiCurrentMW` TinyInt Default 0 Not Null Comment 'Текущий портал',
`biChangerID` BigInt Default 0 Not Null Comment 'Идентификатор пользователя, выполнившего изменение',
`vcNetName` VarChar(1000) Default '…' Not Null Comment 'Откуда производилось изменение',
`dtDateBegin` DateTime Not Null Comment 'Начало действия изменений',
`dtDateEnd` DateTime Default '2500-01-01 00:00:00' Not Null Comment 'Окончание действия изменений',
`tiEditMode` TinyInt Unsigned Default 0 Not Null Comment 'Вид изменений: 0 - создание; 1 - изменение; 2 - удаление; 3 - восстановление') ENGINE=InnoDB Default CharSet=utf8 Comment='Лог конфигурации системы';

получаю сообщение:

ERROR 1067 (42000) at line 37: Invalid default value for 'vcNetName'

Основная странность ситуации в том, что у меня создается больше десятка подобных таблиц-логов, в которых присутствуют поля от `biChangerID` до `tiEditMode`. Этот кусок я просто копирую в каждую новую таблицу. Ошибка возникает только в этой. Кто-нибудь может что-то посоветовать?
...
Рейтинг: 0 / 0
Еще раз об ошибке ERROR 1067 (42000)
    #39680872
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К самому скрипту претензий нет. Единственное зримое место, которое может вызывать эту проблему - использование символа троеточия, который может "не вписываться" в текущие charset/collation.
...
Рейтинг: 0 / 0
Еще раз об ошибке ERROR 1067 (42000)
    #39680879
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, это я понимаю. Но у меня еще больше десятка идентичных скриптов с именно таким описанием поля `vcNetName` и еще куча других варчаровских полей с подобным значением по умолчанию. Ошибка возникает именно на этой таблице
...
Рейтинг: 0 / 0
Еще раз об ошибке ERROR 1067 (42000)
    #39680892
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну возникает... ну на этой... и что? удалите это поле (или только фрагмент с литералом дефолтного значения) из DDL и перевставьте его руками, а не копипастом.
...
Рейтинг: 0 / 0
Еще раз об ошибке ERROR 1067 (42000)
    #39680922
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делал. Тот же эффект. Другое дело, что в среде разработки (я использую навикат) скрипт вроде бы выполняется без ошибок. Ошибка возникает только при выполнении из командной строки...
...
Рейтинг: 0 / 0
Еще раз об ошибке ERROR 1067 (42000)
    #39680999
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_GurОшибка возникает только при выполнении из командной строки...смотри клиентский чарсет.
...
Рейтинг: 0 / 0
Еще раз об ошибке ERROR 1067 (42000)
    #39681012
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MySQL запускается из OpenServer, кодировка в его настройках по умолчанию utf8_general_ci

Запрос на создание базы Create Database If Not Exists `Test_DB` Default Character Set utf8 Collate utf8_general_ci;

В каждом скрипте в первых строчках выполняется Set Character Set 'utf8';

Каждая таблица создается с параметрами ) ENGINE=InnoDB Default CharSet=utf8

И опять же - почему нет ошибок в других таблицах?
...
Рейтинг: 0 / 0
Еще раз об ошибке ERROR 1067 (42000)
    #39681048
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_GurВ каждом скрипте в первых строчках выполняется Set Character Set 'utf8';
А надо бы SET NAMES.

S_GurИ опять же - почему нет ошибок в других таблицах?
Проверь реальную кодировку своего скрипта и/или локаль командной строки.
...
Рейтинг: 0 / 0
Еще раз об ошибке ERROR 1067 (42000)
    #39681067
S_Gur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, спасибо. Проблема решена. Не углядел и новый скрипт создался в кодировке 1251. Перевел файл в utf8 и ошибка исчезла
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Еще раз об ошибке ERROR 1067 (42000)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]