nvrskozzy
5.06.2013 - 19:16
Здравствуйте, у меня колонки в таблице не связаны друг с другом, это кагбы разные списки данных, выбираю их по названию таблицы.
есть колонка id autoinc
засада в том, что если в 1 колонке 100 строк, создаём вторую, запись в неё через INSERT INTO начнётся с 101 строки, а предыдущие 100 будут пустые, можно начать запись с 1 строки?
возможно неправильно структуру базы создал, не знаю, вчера начал только mysql изучать, идея с хранением данных по колонкам будет работать, если INSERT INTO заставить с 1 строки писать или с последней пустой)
буду благодарен за любые советы
_____________
o_O ничего не понял...
естественно, при вставке будет новая строка, 101 или какая там... не суть)
чтобы заполнить другие ячейки в этой же строке есть UPDATE
кажется начал немного понимать...
Цитата |
если в 1 колонке 100 строк, создаём вторую, |
всё наоборот) в таблице данные считаются строками, а не колонками, строка одна, колонок - сколько угодно.
если добавить одну запись, то добавляется СТРОКА, чтобы изменить содержимое колонок уже добавленной строки, надо через UPDATE указать номер строки и названия колонок, которые надо изменить
nvrskozzy
5.06.2013 - 19:59
спасибо, точно update)
а как тогда лучше базу организовать) не хочется много таблиц создавать, думал колонки будут вместо таблиц.
таблица такая:
id site.ru site2.ru
1 текст1 текст1
2 текст2 текст2
3 текст3
тоесть название колонки - адрес сайта, строки - текста для сайтов, добавляю в таблтцу ноые сайты добавлением колонки, и потом надо добавить список текстов к новой колонке..
походу mysql не для такой схемы был создан)
как лучше такие данные хранить в базе? сайтов много будет, ну и текстов тоже)
_____________
nvrskozzy
5.06.2013 - 20:32
а можно проверку сделать на существование строки, если есть то update, если нет то insert
_____________
в базе будет таблица с полями(колонками), например, id | title | text | url
соответственно и данные в эту таблицу будут вносится строками:
1 | site1 | text1 |
http://site1.ru 2 | site2 | text2 |
http://site2.ru
Цитата |
если есть то update, если нет то insert |
nvrskozzy
5.06.2013 - 20:49
Цитата (rooor @ 5.06.2013 - 16:34) |
в базе будет таблица с полями(колонками), например, id | title | text | url соответственно и данные в эту таблицу будут вносится строками: 1 | site1 | text1 | http://site1.ru 2 | site2 | text2 | http://site2.ru |
на каждый сайт сотни текстов, если построчно так записывать нужно будет сотни повторений делать для каждого текста)
_____________
а зачем всё в одну таблицу писать?
Нормальная форма
1 таблица - 2 колонки -> id, site
2 таблица - 2 колонки -> id, text
3 таблица - 3 колонки -> id, id_site, id_text
в третей таблице id не обязательно, можно составной индекс прилепить)
nvrskozzy
5.06.2013 - 21:36
ну сайтов будут десятки если не сотни, и тексты для каждого свои, получается на каждый сайт таблицу отдельную? тогда вся база будет забита этими таблицами, этого и не хотел, для компактности удобности и наглядности хотел в 1 засунуть)
была бы какая-нить вложенность таблиц, или можно было бы сгруппировать кучу однотипных таблиц, а не в корне базы весь огромный список таблиц)
_____________
Цитата |
получается на каждый сайт таблицу отдельную |
таблиц будет 3. я думаю вам надо начать с самых основ... это элементарщина...
nvrskozzy
6.06.2013 - 00:03
Цитата (rooor @ 5.06.2013 - 16:36) |
Цитата | если есть то update, если нет то insert |
|
так и сделал)
foreach($text as $key => $value) {
mysql_query("INSERT INTO `texts` SET `$domen`= '$value', id=$key+1 ON DUPLICATE KEY UPDATE `$domen`= '$value'");
}
каждый текст в свой ключ поочереди загоняет с 1 начиная
_____________
nvrskozzy
6.06.2013 - 00:08
......
_____________
nvrskozzy
6.06.2013 - 00:10
Цитата (rooor @ 5.06.2013 - 19:09) |
Цитата | получается на каждый сайт таблицу отдельную |
таблиц будет 3. я думаю вам надо начать с самых основ... это элементарщина...
|
кажись понял, чё-то меня на столбцы понесло, сам себе жизнь усложнил)
_____________
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.