|
|
|
| Какой sql-запрос для добавления в поле базы значения другого поля? (этой же таблицы) | |
|
|
|
|
|
|
|
для: Tael
(23.07.2009 в 17:41)
| | update `mytable` set `field` = `field2` where `id` = 333 | |
|
|
|
|
|
|
|
для: Волки
(23.07.2009 в 18:02)
| | Ага, спасибо!
Но если я делаю update, то данные полностью заменяются, а мне нужно добавить, с сохранением и уже существующей в этом поле информации | |
|
|
|
|
|
|
|
для: Tael
(24.07.2009 в 11:24)
| | пример?
Было, стало. | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2009 в 11:39)
| | Было два поля, я хочу просто значения значения одного добавить к значениям другого, так чтобы в новом поле были и прежние и новые значения..
А в случае update я получаю просто два одинковых поля.. | |
|
|
|
|
|
|
|
для: Tael
(24.07.2009 в 11:57)
| | пример конкретных значений приведите пожалуйста.
поле таблицы БД одновременно не может хранить два разных значения. Может только одно. | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2009 в 12:02)
| | Под полем я имею в виде столбец таблицы. Допустим, у меня в таблице поле(столбец) name с названиями и поле discr с описанием. Я хочу к описаниям добавить так же и названия, те чтобы в поле discr было и описание, и через запятую название | |
|
|
|
|
|
|
|
для: Tael
(24.07.2009 в 12:10)
| |
SET `discr` = CONCAT(`name`, ',', `discr`)
|
Но значение всё равно будет одно. | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2009 в 12:13)
| | ага, спасибо, мне и нужно чтобы было одно, но состояло из обоих значений ) | |
|
|
|
|
|
|
|
для: Tael
(23.07.2009 в 17:41)
| | наверно, что-то в этом роде:
UPDATE `mytable` SET `field` = CONCAT(`field`, `field2`) WHERE ...
или для чисел
UPDATE `mytable` SET `field` = `field` + `field2` WHERE ...
|
| |
|
|
|
|
|
|
|
для: а-я
(24.07.2009 в 12:09)
| | | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2009 в 12:11)
| | о числах вспомнил поздно) | |
|
|
|
|
|
|
|
для: а-я
(24.07.2009 в 12:09)
| | ага, спасибо, получилось ) я все пыталась сделать через insert
А еще вопрос, мне нужно сделать тоже самое, но теперь уже добавить столбец из другой таблицы, и в той и другой таблице есть идентичные столбцы name. во второй таблице каждому name соответствует, скажем, price, я хочу эти значения добавить в первую таблицу в discr | |
|
|
|
|
|
|
|
для: Tael
(24.07.2009 в 12:25)
| | конкретный пример?
вот как у меня в (24.07.2009 в 12:11) | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2009 в 12:27)
| | Первая таблица
name discr
собака животное
Вторая таблица
name1 first name
собака Шарик
Мне нужно, что бы первая таблица выглядела так:
name discr
собака животное, Шарик | |
|
|
|
|
|
|
|
для: Tael
(24.07.2009 в 12:31)
| | Либо firstname либо во второй таблице я вижу целых три поля и всего два значения.
UPDATE
t1 JOIN t2 ON t1.name = t2.name1
SET t1.discr = CONCAT(t1.discr, ', ', t2.firstname)
|
PS
Описание, по англ. description | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2009 в 12:35)
| | firstname (одно поле) | |
|
|
|
|
|
|
|
для: Tael
(24.07.2009 в 12:36)
| | большое спасибо!! | |
|
|
|
|
|
|
|
для: Tael
(24.07.2009 в 12:31)
| | наверно так:
UPDATE
`tbl1` a, `tbl2` b
SET
a.`discr` = CONCAT(a.`discr`, ', ',b.`price`)
WHERE
a.`name` = b.`name`
|
| |
|
|
|
|
|
|
|
для: а-я
(24.07.2009 в 12:35)
| | большое спасибо, вроде получилось ) | |
|
|
|
|
|
|
|
для: Tael
(24.07.2009 в 12:25)
| | вообще-то подобными действиями Вы искажаете данные.
Склеить их куда проще, чем распилить.
Соответственно, добраться до оригинального описания будет потом крайне трудно. | |
|
|
|
|
|
|
|
для: Trianon
(24.07.2009 в 12:29)
| | да, я понимаю, но надеюсь, не понадобится потом разрывать) | |
|
|
|