Как мне вставить данные с помощью SQLite? - PullRequest
0 голосов
/ 23 февраля 2010

Абсолютно новичок здесь, относительно sqlite, так что не жгите слишком сильно:)

У меня есть таблица:

index  name    length L  breadth B   height H
1      M-1234  10        5           2
2      M-2345  20        10          3
3      ....

Как поместить некоторые табличные данные (скажем, десять значений x, y), соответствующие индексу 1, затем другую таблицу в индекс 2, а затем еще одну и т. Д. Короче говоря, чтобы у меня была таблица x и y значения, которые «связаны» с первой строкой, затем другая, которая связана со второй строкой.

Я читаю некоторые учебные пособия по sqlite3 (которые я использую), но мне трудно найти это. Если кто-нибудь знает хорошее учебное пособие для новичков или книгу, посвященную sqlite3 (CLI), я тоже за это ухожу:)

1 Ответ

2 голосов
/ 23 февраля 2010

Вы просто ищете информацию о join s и концепции foreign key, что, хотя SQLite3 не обеспечивает, является то, что тебе нужно. В любом случае, вы можете обойтись без него.

В вашей ситуации вы можете либо добавить две «колонки» к вашей таблице (один x и другой y), либо создать новую таблицу с 3 «колонками»: foreign_index, x и y. Какой из них использовать, зависит от того, чего вы пытаетесь достичь, производительности и удобства обслуживания.

Если вы пойдете по маршруту связанной таблицы, вы получите две таблицы, например:

MyTable
index  name    length L  breadth B   height H
1      M-1234  10        5           2
2      M-2345  20        10          3
3      ....

XandY
foreign_index  x    y
1              12   9
2              8    7
3              ...

Когда вам нужны значения x и y вашего элемента, вы просто используете что-то вроде SELECT x, y FROM XandY WHERE foreign_index = $idx;

Чтобы получить все связанные атрибуты, вы просто делаете JOIN:

 SELECT index, name, length, breadth, height, x, y FROM MyTable INNER JOIN XandY ON MyTable.index = XandY.foreign_index;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...