Есть ли способ вставить данные внизу таблицы? - PullRequest
0 голосов
/ 03 ноября 2019

Я создал таблицу, импортирующую данные из файла csv в таблицу SQL Server. Таблица содержит около 6000 строк с плавающей точкой. Я пытаюсь вставить новую строку, используя INSERT (я использую Python / Spyder и SQL Server Management Studio), и она вставляет строку, но не внизу таблицы, а ближе к середине. Я понятия не имею, почему это так. Это код, который я использую:

def create (conn):
    print ("Create")
    cursor = conn.cursor()

    cursor.execute ("insert into PricesTest 

(Price1,Price2,Price3,Price4,Price5,Price6,Price7,Price8,Price9,Price10,Price
 11,Price12) values (?,?,?,?,?,?,?,?,?,?,?,?);",
 (46,44,44,44,44,44,44,44,44,44,44,44))

    conn.commit()
    read (conn)

Есть идеи, почему это происходит? Что я должен добавить в свой код, чтобы «принудительно» добавить эту строку внизу таблицы? Большое спасибо.

Ответы [ 2 ]

1 голос
/ 03 ноября 2019

Мне удалось разобраться, следуя различным предложениям, размещенным здесь. В принципе, я был концептуально неправ, считая, что таблицы в MS SQL имеют порядок. Сейчас я работаю с данными в моей таблице, используя даты ORDER BY (я добавил даты в качестве первого столбца) и работает хорошо. Большое спасибо всем за вашу помощь !!

0 голосов
/ 03 ноября 2019

Дело в том, что по умолчанию новые строки вставляются без какого-либо порядка, поскольку у сервера нет правила упорядочения вновь добавленных строк (первичный ключ не определен). Вы должны были создать столбец идентификаторов перед импортом ваших данных (даже вы можете сделать это сейчас):
Id Int IDENTITY(1,1) primary key
Это обеспечит добавление всех строк в конец таблицы. Больше информации о типе данных, который вы можете использовать в w3school: https://www.w3schools.com/sql/sql_datatypes.asp

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