Задать вопрос
Ответы пользователя по тегу MySQL
  • Как исправить ошибку sequelize в запросе 1 к 1?

    i229194964
    @i229194964
    Веб разработчик
    const { Sequelize, DataTypes } = require('sequelize');
    
    // Подключение к базе данных
    const sequelize = new Sequelize('database', 'username', 'password', {
      host: 'localhost',
      dialect: 'mysql',
    });
    
    // Определение модели UsersModel
    const UsersModel = sequelize.define('User', {
      email: {
        type: DataTypes.STRING,
        allowNull: false,
        unique: true,
      },
      // Другие поля пользователя
    });
    
    // Определение модели RolesModel
    const RolesModel = sequelize.define('Role', {
      title_role: {
        type: DataTypes.STRING,
        allowNull: false,
      },
      // Другие поля роли
    });
    
    // Определение отношения "один к одному"
    UsersModel.hasOne(RolesModel);
    RolesModel.belongsTo(UsersModel);
    
    // Пример создания записи пользователя с ролью
    sequelize.sync()
      .then(async () => {
        const user = await UsersModel.create({
          email: 'example@example.com',
          // Другие поля пользователя
        });
    
        const role = await RolesModel.create({
          title_role: 'Admin',
          // Другие поля роли
        });
    
        // Связываем пользователя с ролью
        await user.setRole(role);
    
        // Запрос на получение пользователя с ролью
        const foundUser = await UsersModel.findOne({
          where: { email: 'example@example.com' },
          include: RolesModel, // указываем, что хотим включить связанную модель
        });
    
        if (!foundUser) {
          console.error('Пользователь не найден');
        } else {
          console.log(foundUser.email + ' - ' + foundUser.Role.title_role);
        }
      })
      .catch((error) => {
        console.error('Ошибка при синхронизации с базой данных:', error);
      });
    Ответ написан
    Комментировать
  • Как сделать один запрос вне зависимости от количества переходов?

    i229194964
    @i229194964
    Веб разработчик
    if ($user_damage > $battle['health']) {
        // Установка блокировки на таблицу `_basement_battle`
        mysql_query('LOCK TABLES `_basement_battle` WRITE');
    
        try {
            mysql_query('SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE');
            mysql_query('START TRANSACTION');
    
            // Выполнение обновлений
            mysql_query('UPDATE `basement_clans` SET `json_key` = JSON_SET(`json_key`, \'$."' . 'key_'.($battle['boss_id'] + 1) . '"\', JSON_EXTRACT(`json_key`, \'$."' . 'key_'.($battle['boss_id'] + 1) . '"\') + 1), `json_limit` = JSON_SET(`json_limit`, \'$."' . 'boss_'.$battle['boss_id'] . '"\', JSON_EXTRACT(`json_limit`, \'$."' . 'boss_'.$battle['boss_id'] . '"\') + 1), `json_medals` = JSON_SET(`json_medals`, \'$."' . 'boss_'.$battle['boss_id'] . '"\', JSON_EXTRACT(`json_medals`, \'$."' . 'boss_'.$battle['boss_id'] . '"\') + 1) WHERE `clan` = '.$clan['id'].' AND `jail` = '.$user['reset']);
    
            mysql_query('DELETE FROM `_basement_battle` WHERE `id` = '.$battle['id']);
    
            mysql_query('COMMIT');
        } catch (Exception $e) {
            mysql_query('ROLLBACK');
        } finally {
            // Снятие блокировки после выполнения транзакции
            mysql_query('UNLOCK TABLES');
        }
    }
    Ответ написан
  • Как создать запрос, чтобы записать в поле значение другого поля этой же строки?

    i229194964
    @i229194964
    Веб разработчик
    UPDATE your_table_name
    SET bonus = price
    WHERE id = your_id_value;
    Ответ написан
    Комментировать
  • Как сделать чтоб 2 запущенных Python скрипта, меняя базу mySQL могли видеть изменения друг друга?

    i229194964
    @i229194964
    Веб разработчик
    Для решения данной проблемы надо убедится то что оба скрипта используют одно и тоже подключения к бд.
    Ответ написан
    Комментировать
  • Как решить проблему с подключением к mysql?

    i229194964
    @i229194964
    Веб разработчик
    Вы должны добавить имя бд чтобы подключится к ней
    import pymysql
    
    my_db = pymysql.connect(
        host='localhost',
        user='root',
        password='',
        db='имя_базы_данных' # замените 'имя_базы_данных' на реальное имя вашей базы данных
    )
    
    my_cursor = my_db.cursor()
    my_cursor.execute('SHOW DATABASES')
    for db in my_cursor:
        print(db)
    Ответ написан
  • Как решить проблему mysqli_real_connect?

    i229194964
    @i229194964
    Веб разработчик
    измените localhost на 127.0.0.1 в /etc/phpmyadmin/config.inc.php
    $cfg['Servers'][$i]['host'] = '127.0.0.1';
    Ответ написан
    Комментировать