мне нужна сделать запрос таково вида.
$res = mysql_query ("INSERT INTO table (name,name2) VALUES ('$name','$name2') WHERE '$far'='33'",$db);
переменные name и name2 выше в скрипте имеют свои значения, которые надо добавить в таблицу при условии, что переменная фар = 33. Может синтаксис другой.
Спустя 1 минута, 57 секунд (2.04.2010 - 15:28) ZSH написал(а):
замени INSERT INTO на UPDATE
Спустя 3 минуты, 27 секунд (2.04.2010 - 15:31) freaky написал(а):
такой вариант не работает ведь update обновляет поля в таблице, а мне нужно вставить новую строку в таблице
Спустя 1 минута, 23 секунды (2.04.2010 - 15:33) glock18 написал(а):
where используется для поиска строк в таблице.
insert вставляет строки в таблицу. строки нет в таблице, и не с чем ее сравнивать.
если ты пытаешь сделать что-то, чтобы предотвратить дублирование, то нужен уникальный ключ и использовать нужно одно из трех:
1. insert ... on duplicate key update
2. insert ignore ...
3. replace ...
insert вставляет строки в таблицу. строки нет в таблице, и не с чем ее сравнивать.
если ты пытаешь сделать что-то, чтобы предотвратить дублирование, то нужен уникальный ключ и использовать нужно одно из трех:
1. insert ... on duplicate key update
2. insert ignore ...
3. replace ...
Спустя 10 минут, 22 секунды (2.04.2010 - 15:43) freaky написал(а):
вобщем я подумал и пошёл чутка другим путём.
так всё работает!!!)
if ($far == "33") {$res = mysql_query ("INSERT INTO table (name,name2) VALUES ('$name','$name2')",$db);}
так всё работает!!!)