mySQL

mysql MySQL server has gone away multiple insert Множественный INSERT Ошибка

Forums:

Проверьте значение (выбрав БД):

select @@max_allowed_packet;

-- его надо установить во что-то более значительное, например:

[mysqld]
max_allowed_packet=256M

И перезапустить mysql

mysql #1071 - Specified key was too long; max key length is 767 bytes ошибка для VARCHAR(255)

Forums:

Если ваша кодировка многобайтная, то даже для меньшего, чем 767 числа символов вы можете получать такую ошибку. Придётся уменьшать длину ключа.

Ошибка возникает при попытке создать уникальный ключ:

ALTER TABLE `имятаблицы`
   ADD UNIQUE INDEX `имяиндекса` (`имястолбца`);

mysql Версия СУБД -- как узнать её, пример запроса

Forums:

Просто выполните SQL запрос:

SELECT @@version;

mysql cannot drop index needed foreign key constraint и тут же Duplicate key name. Ошибки при удалении внешнего ключа

Forums:

Наблюдения

Странная ошибка:

  • при добавлении внешнего ключа автоматически создаётся идекс
  • Внешний ключ удаляем
  • Индекс остаётся удалить его нельзя, так как он якобы используется уже удалённым внешним ключом:

    ERROR 1553 (HY000): Cannot drop index '....': needed in a foreign key constraint

  • Тогда пытаемся снова добавить указанный ключ получаем:

    ERROR 1061 (42000): Duplicate key name '...'

Как-то противоречиво.

Версия базы: 5.7.22

mysql Связь "Многие ко Многим" -- пример SQL кода таблиц с пояснениями. Таблица связи (ON DELETE CASCADE). Получение данных

Forums:

Ситуация

Участники подают заявки на участие в номинациях в каком-то онлайн конкурсе -- один участник может участвовать в любом числе номинаций (их много) и самих участников тоже может быть сколько угодно (тоже много) -- а значит, здесь надо реализовать связь многие-ко-многим.

Далее будет использоваться синтаксис mysql.

Проектируем базу для связи Многие-ко-Многим -- sql для создания таблиц

Нам потребуется создать три таблицы:

mysql Изменить тип столбца (колонки) -- пример sql запроса (ALTER TABLE + MODIFY COLUMN)

Forums:

Ранее мы уже рассматривали общий формат такого запроса.
Например, main_date был типа DATE, а мы сделаем его DATETIME

ALTER TABLE `People` 
    MODIFY COLUMN `maindate` DATETIME DEFAULT NULL;

(ещё в определение добавлено, что значение по умолчанию -- NULL)

mysql php Вопросы вместо русских букв -- не отображается текст, кодировка, как исправить

Проблема

На сайте вместо русского текста отображаются знаки вопроса

Решение

Дело в кодировке символов. Решить проблему можно с помощью явного объявления кодировки utf-8 при создании объекта PDO:

$connection = new PDO("mysql:host=localhost;dbname=cms;charset=utf8;", $username, $password);
// ...

Источники

  • http://fkn.ktu10.com/?q=node/9528

mysql Выполнение команд из файла после подключения к базе (загрузка дампа)

Forums:

Помимо обычного способа загрузки команд (дампа) из файла, можно уже после подключения серверу mysql в командной строке, для этого:

  1. Подключаемся к серверу MySQL
  2. Выбираем конкретную базу данных:
    use имябазы;
  3. И выполняем команду вида:
    \. путь_к_файлу

Pages

Subscribe to RSS - mySQL