На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
  
    > Вставить пустую строку в MySql
      Есть таблица, в которой один столбец - счётчик

      пишу вот такой запрос
      ExpandedWrap disabled
        $query="INSERT INTO instruments_id () values()"
            
        $result = mysqli_query($link, $query);

      Сервер выдаёт синтаксическую ошибку на 2й строке.

      Запускаю тот же запрос в phpMyAdmin - он благополучно проходит.

      Добавлено
      ПРоклятые точки с запятыми...
        Осталось понять нахрена эта дичь нужна :jokingly:
          Цитата Serafim @
          Осталось понять нахрена эта дичь нужна :jokingly:

          Всё очень просто.

          Эта таблица генерирует только индексы (ID-ы)

          А есть другая таблица, где лежат локализованные строки на разных языках с полями ID, LANG, NAME.
            Цитата
            Эта таблица генерирует только индексы (ID-ы)

            Это где ж такому учат? В Дели? Или в Шанхае?
            Тут нужно хранить всего одно значение (последний сгенерированный ид). А можно и не хранить его отдельно, а получать через SELECT MAX(id) + 1 FROM другая_таблица
              Цитата AVA12 @
              Цитата
              Эта таблица генерирует только индексы (ID-ы)

              Это где ж такому учат? В Дели? Или в Шанхае?
              Тут нужно хранить всего одно значение (последний сгенерированный ид). А можно и не хранить его отдельно, а получать через SELECT MAX(id) + 1 FROM другая_таблица

              Это решение не является признаком дурного тона. ТАК НАДО!


              Таблиц много, они связаны по этому индексу. И нужен не только максимальный индекс, а и все, какие есть.

              Ну и, кстати, появились мыселья добавить дополнительные поля в ту таблицу, но пока очередь до неё не дошла.
              Сообщение отредактировано: Alexanbar -
                Цитата Alexanbar @
                Таблиц много, они связаны по этому индексу. И нужен не только максимальный индекс, а и все, какие есть.

                Есть два способа решения данной проблемы. Лично у нас на работе используется общая таблица с id + table name + system id (pk ai + название таблицы + система или БД, где таблица обитает).

                В качестве второго, более профитного и современного варианта я бы предложил использование UUID в бинарном виде.
                1) Он бывает даже быстрее AI PK.
                2) Позволяет вначале выделять идентификатор, а уже потом сохранять.
                3) Можно внутрь зашивать нужную информацию о таблицах и базах, например выделяя первые 4-8 байт под это дело и чуть-чуть уходя от стандарта UUID v4.
                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                0 пользователей:


                Рейтинг@Mail.ru
                [ Script execution time: 0,0235 ]   [ 16 queries used ]   [ Generated: 28.03.24, 15:25 GMT ]