[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Альтернатива insert
Plantis
Надо альтернатива команде
SQL
INSERT INTO authors VALUES (1, 'Maks', '123', ' mafrfrfrks@mfrfrail.ru ',
' www.softtifrfrfrfrfrme.ru ', '', 'программист', '', '', '', 0, 0);

в данной команде автоматически указанно количество столбиков.
Проблема: Что делать, если в процессе програминга количество столбиков оказалось меньше нужного.

Варианты решения:
1. Создавать заведомо большую таблицу ~30 колонок, а потом когда проэкта закончен сесть и уменьшить все таблици(но это сьесть кучу времени а без чистки это будет хавать память и ресурсы компов)

2. Найти альтернативу функции INSERT INTO

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

Помогите, пожалуйста.



Спустя 30 минут, 28 секунд (24.07.2009 - 22:26) Nikitian написал(а):
У insert есть несоклько вариантов синтаксиса. Например можете указать столбцы так:
SQL
insert into table (field1,field2,field3) values (var1,var2,var3)

Хотя мне больше импонирует такой метод:
SQL
insert into table set field1=val1,field2=val2,field3=val3
Во втором случае проще понять что куда записывается и сложнее запутаться.

Во всех примерах table - имя таблицы, field* - имена полей, val* - некоторые данные, которые записываем

Спустя 2 минуты, 5 секунд (24.07.2009 - 22:28) sergeiss написал(а):
Цитата (Plantis @ 24.07.2009 - 22:55)
Что делать, если в процессе програминга количество столбиков оказалось меньше нужного.

Для этого достаточно просто прочитать хэлп по команде INSERT. Там еще можно (и я бы сказал, что нужно) указать в явном виде те колонки, в которые идет вставка.
Как раз по той причине, что количество колонок в процессе разработки проекта может меняться. И чтобы при увеличении этого количества не приходилось "ловить блох", лучше с самого начала взять за правило указывать колонки явно.

PS. Опередили на пару секунд буквально...

Спустя 21 минута, 21 секунда (24.07.2009 - 22:49) Plantis написал(а):
Цитата
Хотя мне больше импонирует такой метод:SQL
insert into table set field1=val1,field2=val2,field3=val3

Во втором случае проще понять что куда записывается и сложнее запутаться.

Во всех примерах table - имя таблицы, field* - имена полей, val* - некоторые данные, которые записываем

Сенкс. Удобно однако.

Спустя 15 часов, 47 минут, 56 секунд (25.07.2009 - 14:37) Plantis написал(а):
PHP
echo $show;
echo 
$show_on_main_page;

$line "INSERT INTO parts SET show = \"$show\", show_on_main_page = \"$show_on_main_page\"";
mysql_query($line,$conn)
or die(
mysql_error() . ' -> ' $line);


HTML
truetrueYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'show = "true", show_on_main_page = "true"' at line 1 -> INSERT INTO parts SET show = "true", show_on_main_page = "true"


$show AND $show_on_main_page приходит с формы
HTML
Show on site<input type=\"checkbox\" value=\"true\" name = \"show\"><br>
Show on main page<input type=\"checkbox\" value=\"true\" name = \"show_on_main_page\"><br>


Такое впечетелние, что ошибка связана с checkbox. Но, я не могу понять почему

Спустя 21 час, 17 минут, 3 секунды (26.07.2009 - 11:54) Alchemist написал(а):
SHOW - зарезервированое слово в MySQL
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.