mysql предотвратить автоматическую сортировку строки вставки - PullRequest
1 голос
/ 24 октября 2011

Я использую Codeigniter для выполнения вставки в mysql (не уверен, если это уместно), у меня есть столбец таблицы и некоторые данные, подобные этому, после вставки:


    [invoice_id][product_id][unit_cost][quantity]
    [42][1][50][2]
    [42][2][100][3]
    [42][5][45][1]

Проблема заключается в автоматической сортировке mysql сначала по invoice_idзатем product_id, как указано выше.

Перед их вставкой позиция списка товаров в моем счете-фактуре была:


    [42][5][45][1]
    [42][1][50][2]
    [42][2][100][3]

Я не хочу никакой этой автосортировки, потому что когда я их получаю, они идут как список вБаза данных не так, как в счете.Я не думаю, что смогу использовать сортировку для определенного столбца, потому что все они в первую очередь случайны.

Я могу только начать думать о добавлении еще одного столбца [позиции], содержащего число, только для того, чтобы отсортировать его позже, или есть лучший способ без него?

Заранее спасибо за любой ответ.

1 Ответ

0 голосов
/ 24 октября 2011

Вам не гарантируется порядок наборов результатов MySql, если вы не укажете предложение ORDER BY.Единственный способ сделать это, если вы не можете выполнить сортировку с уже имеющимися параметрами, - это добавить еще один столбец в таблицу.Обычно это целочисленное поле с автоинкрементом.После этого вы сможете упорядочить по идентификатору и вернуть строки в том порядке, в котором они были введены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...