|
|
|
| Не судите строго, вопрос для вас может совсем будет смешной, но я понять не могу..
Допустим, есть таблица такого плана со значениями в ней:
+-----+------+
| X | Y |
+-----+------+
| a | b |
+-----+------+
Какой командой мне можно поменять значение B, не трогая всю строчку ? Если использовать INSERT, то придется вводить и A и B, а мне нужно только B. Помогите! Заранее спасибо | |
|
|
|
|
|
|
|
для: Elder_Imp
(08.09.2008 в 10:27)
| | >Какой командой мне можно поменять значение B, не трогая всю строчку ? Если использовать INSERT, то придется вводить и A и B, а мне нужно только B. Помогите! Заранее спасибо
А если использовать UPDATE ?
Кстати, если использовать INSERT совсем необязательно вводить все поля.
Впечатление такое, что Вы не знаете адрес справочника языка MySQL. | |
|
|
|
|
|
|
|
для: Trianon
(08.09.2008 в 10:30)
| | =0
Я попробывал поработать с ф-цией UPDATE. Она на ура добавляет в нужную область значение, но она НЕ ЗАПИСЫВАЕТ нули! Вот так вот берет и проглатывает их, записывая все значение без нуля! Что делать? | |
|
|
|
|
|
|
|
для: Elder_Imp
(08.09.2008 в 10:53)
| | показать здесь структуру таблицы (текст оператора CREATE TABLE) и текст самого запроса. | |
|
|
|
|
|
|
|
для: Trianon
(08.09.2008 в 11:03)
| | Таблица в MySQL имеет следующий вид:
id | name | count
1 | elder_imp | 12345
Запрос таков:
<?
..после подключения к БД и всех проверок на ошибки
$query = "UPDATE имя_таблицы SET count = $cnt WHERE id=1;";
$result = mysql_query($query);
?>
$cnt собственно содержит число, которое следует записать в таблицу. Я написал 023145 - а в БД записывается 12345 | |
|
|
|
|
|
|
|
для: Elder_Imp
(08.09.2008 в 11:10)
| | Я попросил два текста - Вы не привели ни одного.
Запрос
SHOW CTEATE TABLE имя_таблицы
| что показывает?
echo $query что показывает?
По-моему, 012345 и 12345 - числа равные. | |
|
|
|
|
|
|
|
для: Trianon
(08.09.2008 в 11:13)
| | | имя_таблицы | CREATE TABLE `имя_таблицы` (
`id` int(4) DEFAULT NULL,
`name` text,
`count` text
) ENGINE = InnoDB DEFAULT CHARSET=latin1 |
Это выводится в MysQL на запрос SHOW CREATE TABLE
З.Ы. Извините, если отнима время | |
|
|
|
|
|
|
|
для: Elder_Imp
(08.09.2008 в 11:22)
| | Замечательно.
$query = "UPDATE имя_таблицы SET count = $cnt WHERE id=1;";
echo $query;
| что показывает?
Между прочим, имя поля count в запросе я бы поставил в обратные косые кавычки:
UPDATE имя_таблицы SET `count` = $cnt WHERE ...
|
от греха подальше. | |
|
|
|
|
|
|
|
для: Elder_Imp
(08.09.2008 в 11:22)
| | echo($query);
UPDATE user SET count = 012345 WHERE id=1;
Ужас.. | |
|
|
|
|
|
|
|
для: Elder_Imp
(08.09.2008 в 11:32)
| | echo($result);
Выдает 1 | |
|
|
|
|
|
|
|
для: Elder_Imp
(08.09.2008 в 11:33)
| | Все, отбой!
Проверил 123456 и 0123456 - действительно разницы никакой. Спасибо! | |
|
|
|
|
|
|
|
для: Elder_Imp
(08.09.2008 в 11:32)
| | Ничего удивительного.
Число 012345 ( а 012345 - это число, а не текст) нормализуется до 12345 , после чего аккуратно кладется в таблицу.
Если Вы хотите записывать текст - то и оператор SQL нужно готовить как для текста. с экранированием, с кавычками, и прочими синтаксическими бубнами. | |
|
|
|