Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> добавить строчку, не указывая значение столбца? 
V
    Опции темы
zkv
Дата 14.5.2007, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 92



как добавить в таблицу строчку, не указывая значение столбца?

C mysql я начал разбираться пару дней назад, сейчас меня мучает такой вопрос:

допустим в базе у меня имеется таблица вида:

id            meta1            meta2    meta3        meta4        meta5        meta666
001    001-TVpanasonic    3    meta01-3    meta001-4    meta001-5    NULL
002    002-TVpanasonic    6    meta02-3    meta002-4    meta002-5    NULL
003    003-TVgrundic        2    meta03-3    meta003-4    meta003-5    NULL
666    001-TVpanasonic    3    meta01-3    meta001-4    meta001-5    NULL

в процессе работы с ней предполагается периодическое добавление/удаление столбцов,
но, при любом изменении кол-ва столбцов, приходится переделывать sql-запросы
(с запроса вида 
INSERT INTO tovars1 VALUES ('666', '001-TVpanasonic', '3', 'meta01-3', 'meta001-4', 'meta001-5', ''); на аналогичный , но с дополнительной парой одинарных кавычек для вновь появившегося столбца, тоесть, если у меня после столбца meta666 появился столбец meta777, то все запросы для добавления новой строчки мне приходится менять на INSERT INTO tovars1 VALUES ('666', '001-TVpanasonic', '3', 'meta01-3', 'meta001-4', 'meta001-5', '', ''); , но, функций для добавления строчек в таблицу у меня в скрипте достаточно много.
Вопрос: хотелось-бы каким-то образом сделать возможным добавление строчки предыдущим методом (без лишней пары кавычек), (скажем, если есть возможность устанавливать какой-нибудь аттрибут для вновь-созданного столбца, или ещё каким методом).. можно-ли такое сделать?

PM MAIL   Вверх
Akina
Дата 14.5.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Если ты сделаешь как положено, а не левой пяткой, т.е. 

Код

INSERT INTO TableName (FieldsList) VALUES (ValuesList1), (ValuesList2), ...


то ничего в запросах переделывать не придется - в те поля, которые не перечислены в FieldsList, будут добавлены DefaultValues (или Null).


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
zkv
Дата 14.5.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: нет
Всего: 92



Akina, спасибо за помощь. с этим вопросом разобрался.

Цитата(Akina @  14.5.2007,  12:27 Найти цитируемый пост)
Если ты сделаешь как положено, а не левой пяткой, 

если бы еще сразу понимать как оно положено smile
PM MAIL   Вверх
Akina
Дата 14.5.2007, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(zkv @  14.5.2007,  15:49 Найти цитируемый пост)
если бы еще сразу понимать как оно положено 

Запрос должен СТРОГО соответствовать синтаксису. Если есть несколько вариантов - используйте наиболее совместимый.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.