в данной команде автоматически указанно количество столбиков.
Проблема: Что делать, если в процессе програминга количество столбиков оказалось меньше нужного.
Варианты решения:
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