Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Как изменить содержимое ячейки в базе MySql?


Автор: TetraHC 25.7.2009, 18:31
Добрый день! Знаю номер столбца X и номер строки Y в таблице Table

Как изменить содержимое данной ячеки?

Хочу заранее отметить, что название стоблца - плавающее, а у строки ячейки нет ID

Т.е. вариант

mysql_query("UPDATE ".$table." SET field0='$temp' WHERE id='$if'); не прокатит ни разу

Знаю только номер строки и номер ячейки. Т.е. грубо, как записать в столбец 5 строка 15 в таблицу table слово "попа" ?

Автор: Staind 25.7.2009, 22:43
А зачем так изощрятся? Может все таки подумать о добавление уникального поля?

Автор: TetraHC 26.7.2009, 09:44
Цитата(Staind @ 25.7.2009,  22:43)
А зачем так изощрятся? Может все таки подумать о добавление уникального поля?

Дело в том, что таблицы вводятся на сайт через ABC EXCEL Parser Pro, т.е. вставляется таблица как есть. А там нет уникального поля (в прайсе). И чтобы реализовать "уникальное" поле надо более чем в ста прайсах вручную его добавить, да еще и убедится в уникальности.

Вообще вопрос до примитива простой, а ответа я до сих пор не нашел!

Удивительно

Автор: Ипатьев 26.7.2009, 12:59
Разумеется, не нашел.
Как не нашел бы ответ на вопрос, "как прочистить жабры автомобилю ВАЗ". 
В реляционной модели нет никаких столбцов Х и строк У так же, как у автомобиля нет жабр. Данная модель абстрактна, никакого доступа к физическому расположению строк в файле ты не имеешь, равно как и никакой гарантии, что этот порядок строк не изменится.
Поэтому придется менять подход, хочешь ты этого, или нет. 
Рекомендую вместо SQL использовать текстовый файл с разделителями. 

Автор: TetraHC 26.7.2009, 18:54
Да, но с этим с успехом справляется phpmyadmin...

Автор: skyboy 26.7.2009, 20:49
ты что-то путаешь.
если в структуре таблицы не предусмотрен первичный или хотя бы уникальный ключ, то изменение происходит по логике:
Код

update ...
where <поле 1> = "значение поля 1"
and <поле 2> = "значение поля 2"
....
and <поле N> = "значение поля N"
limit 1

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

Автор: TetraHC 26.7.2009, 21:04
Цитата(skyboy @ 26.7.2009,  20:49)
ты что-то путаешь.
если в структуре таблицы не предусмотрен первичный или хотя бы уникальный ключ, то изменение происходит по логике:
Код

update ...
where <поле 1> = "значение поля 1"
and <поле 2> = "значение поля 2"
....
and <поле N> = "значение поля N"
limit 1

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

О! То, что надо! И плевать на соотвествие 5 и 10 позиции. У меня такого нет, либо очень редко!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)