|
|
|
|
|
для: mechanic
(30.04.2008 в 09:03)
| | Спасибо, именно на 3 вариант я и расчитывал, я знал что всетаки должна быть команда которая делает эти два действия за один раз.
А если не particleid unique и не primary key
CREATE TABLE `pasprav` (
`particleid` int(9) default NULL,
`spravid` int(9) default NULL,
`paspravidRecSprav` int(9) default NULL
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
INSERT INTO `pasprav` (`particleid`, `spravid`, `paspravidRecSprav`) VALUES
(121, 3, 2),
(121, 7, 2),
(120, 7, 3),
(119, 3, 3),
(119, 7, 2),
(118, 7, 2),
(118, 3, 3));
|
По своему замыслу здесь могут быть несколько записей для particleid. Уникальны можно считать только particleid и spravid в связке :) | |
|
|
|
|
|
|
|
для: DIM@
(30.04.2008 в 00:18)
| |
replace into pasprav set particleid=".$idPArticle." , spravid=".$idSprav.", paspravidRecSprav=".$idRec;
|
если запись имеется, она будет заменена, если записи нет - она будет вставлена
предполагается что particleid unique или primary key | |
|
|
|
|
|
|
|
для: DIM@
(30.04.2008 в 00:18)
| | Думаю что второй вариант лучше.. | |
|
|
|
|
|
|
| Доброй ночи,
Вопрос состоит в следующем, при сохранении данных необходимо их обновление в нескольких таблицах-справочниках, отсюда 2 подхода, какой наиболее правильный, а может есть другой вариант, т.к. я не гуру в SQL.
1. Удаляем из таблицы-справочника все данные связанные с обновляемой записью и затем вставляем все их заново обновленные. На переменные PHP не смотрите они заполняются данными и в этом проблемы нет.
DELETE FROM pasprav where particleid=".$idPArticle;
INSERT INTO pasprav SET particleid=".$idPArticle.", spravid=".$idSprav.", paspravidRecSprav=".$idRec;
|
2. Вместо удаления проверять на наличее записи в таблице-справочнике и если есть делать UPDATE, иначе INSERT
3. Может есть и 3 вариант. | |
|
|
|
|