|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
я не понял идея, что ключ может включать несколько полей, в голове не прижилась? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 12:32 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
miksoftmesier однозначно идентифицировать запись можно по одновременному совпадению id сообщения и id человека.. Разве нет? select * from mn a, n b, m c, where b.i = a.i and c.j = a.j Ну и зачем первичный ключ?Ну так значит "id сообщения и id человека" - это и есть первичный ключ. Оппа! А вот и решение проблемы! Сказать по правде, НИКОГДА не пользовался первичными ключами из двух полей. Даже не знал, что так можно.. ))) Огромное спасибо! Сейчас попробовал - работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 12:35 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
qwerty112miksoftпропущено... Ну так значит "id сообщения и id человека" - это и есть первичный ключ. +1 щас ТС откроет для себя составной ключ :)) Ога! ))) Пребывал под воздействием стереотипов каких-то.. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 12:38 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
U-geneя не понял идея, что ключ может включать несколько полей, в голове не прижилась? Ну да. За ненадобностью.. Работая с Oracle, я в аналогичной ситуации на связующей таблице создавал только foreign key, и этого хватало. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 12:44 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
mesierSergSuper вы хотите отредактировать одну запись, для этого клиент посылает на сервер запрос update ... where ... если есть первичный ключ, то во where ставится условие по первичному ключу если первичного ключа нет - какое условие должен ставить клиент? Ещё раз обращаю ваше внимание, что речь ведется не о просто таблице с записями, а о связующей таблице в отношении много-ко многим.. ничего подобного, изначально речь шла о редактировании абстрактной таблицыmesierВозьмем за основу пример, приведенный adv, и представим, что создаем систему обмена сообщениями. n - справочник сообщений, m - справочник людей. mn - таблица получателей сообщений. У каждого получателя может быть много сообщений, каждое сообщение может быть отправлено множеству получателей. В этой таблице может быть ещё поле, обозначающее, допустим, прочитано ли сообщение. Таким образом однозначно идентифицировать запись можно по одновременному совпадению id сообщения и id человека.. Разве нет? select * from mn a, n b, m c, where b.i = a.i and c.j = a.j Ну и зачем первичный ключ? Впрочим, если я где-то заблуждаюсь, готов выслушать наставления, только по возможности адекватное, а не как обычно на российских форумах.. ))к сожалению не все обертки к БД такие интеллектуальные, некоторые не могут так рассуждать и читать Ваши мысли ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 12:44 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
SergSuper ничего подобного, изначально речь шла о редактировании абстрактной таблицы Так таки абстрактной?? Цитата из стартового сообщения: "связующая таблица в отношении many-to-many не редактируется (UPDATE)." Подумал, что не требуется детально описывать сущность.. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 13:19 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
mesierSergSuper ничего подобного, изначально речь шла о редактировании абстрактной таблицы Так таки абстрактной?? Цитата из стартового сообщения: "связующая таблица в отношении many-to-many не редактируется (UPDATE)." Подумал, что не требуется детально описывать сущность.. а чуть подальше: В TOAD-е попробовал смотреть и редактировать т.е. просто редактируется абстрактная таблица, для TOAD то всё равно ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 14:22 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
mesierТаким образом однозначно идентифицировать запись можно по одновременному совпадению id сообщения и id человека.. Разве нет? это и будет первичный ключ. запись идентифицировать можно по первичному ключу. Первичный ключ не допускает повторов, значит в таблице запрещены 2 и более записей с одной и той же комбинацией id сообщения и id человека. Без ПК можно будет занести массу таких записей, и они не будут иметь смысла id_msg, id_person 1 1 1 1 1 1 .. ПК такого не допустит. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 14:45 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
kdvБез ПК можно будет занести массу таких записей, и они не будут иметь смысла Ну, может в модели данных аффтара это имеет какой-нибудь смысл... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.10.2011, 15:30 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
On 13.10.2011 9:48, mesier wrote: > По идее pk в такой таблице не нужен.. Но пришлось сделать (при этом не По идее в любой таблице обязательно должен быть PK. Иначе записи неидентифицируемы и ты не сможеш их обрабатывать с помощью SQL. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2011, 11:49 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
MasterZivИначе записи неидентифицируемы и ты не сможеш их обрабатывать с помощью SQL. Шо, какой-то сервер без ПК не способен даже посчитать select count(*),sum(f) from t?.. Фтопку его! Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2011, 11:56 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
MasterZivOn 13.10.2011 9:48, mesier wrote: > По идее pk в такой таблице не нужен.. Но пришлось сделать (при этом не По идее в любой таблице обязательно должен быть PK. Иначе записи неидентифицируемы и ты не сможеш их обрабатывать с помощью SQL. с данными надо работать, а не с записями... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2011, 12:21 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
MasterZivOn 13.10.2011 9:48, mesier wrote: > По идее pk в такой таблице не нужен.. Но пришлось сделать (при этом не По идее в любой таблице обязательно должен быть PK. Иначе записи неидентифицируемы и ты не сможеш их обрабатывать с помощью SQL. Я смогу их обрабатывать и без pk.. По сути любые ключи являются лишь ограничением целостности. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2011, 21:45 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
mesierПо сути любые ключи являются лишь ограничением целостности. правильно. осталось подумать, для чего в СУБД нужны ограничения целостности. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2011, 23:46 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
kdvmesierПо сути любые ключи являются лишь ограничением целостности. правильно. осталось подумать, для чего в СУБД нужны ограничения целостности. Да что вы говорите!... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2011, 08:23 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
mesierВпрочем, вопрос остается открытым: если знаете как реализовать много-ко-многим по другому, более рационально - с удовольствием выслушаю!Конечно... У вас многие ко многим всегда вырождаются в отдельную таблицу, PK которой вся запись. Просто вам этого не объяснили на курсах СУБД для мотористов. Поясняю: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2011, 03:08 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
Warstone Просто вам этого не объяснили на курсах СУБД для мотористов. Очень смешно... С pk уже разобрались. Вы не могли этого не заметить, если бы бегло просмотрели топик. Стоило ли отвечать, если ничего нового Вы не привнесли в тему? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2011, 05:16 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
WarstonemesierВпрочем, вопрос остается открытым: если знаете как реализовать много-ко-многим по другому, более рационально - с удовольствием выслушаю!Конечно... У вас многие ко многим всегда вырождаются в отдельную таблицу, PK которой вся запись. Просто вам этого не объяснили на курсах СУБД для мотористов. Поясняю: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Потенциальный ключ нужен почти всегда. А вот PRIMARY KEY не факт, особенно, если на сущность нет и не планируется FOREIGN KEY. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2011, 19:13 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
mesier, вообще, СУБД должна делать то, что ей скажут. Сказали обновить записи по предикату - пусть обновляет. Если под предикат подходят все записи таблицы - это проблемы разработчика, а не СУБД. Если первичного ключа нет - это не повод откатывать операцию. Обновлять надо всё, что подходит под условие, первичный ключ вообще ни при чём. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2011, 19:18 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
ОКТОГЕНПотенциальный ключ нужен почти всегда. А вот PRIMARY KEY не факт...К чему эта фраза, если ПК является одним из потенциальных? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2011, 00:36 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
ОКТОГЕНmesier, вообще, СУБД должна делать то, что ей скажут. Сказали обновить записи по предикату - пусть обновляет. Если под предикат подходят все записи таблицы - это проблемы разработчика, а не СУБД. Если первичного ключа нет - это не повод откатывать операцию. Обновлять надо всё, что подходит под условие, первичный ключ вообще ни при чём. Так вот я тоже так думал. Пока не поработал с MySQL. Этому подавай первичный ключ, если хочешь апдейтить, и всё тут!.. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2011, 08:16 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
mesierТак вот я тоже так думал. Пока не поработал с MySQL. Этому подавай первичный ключ, если хочешь апдейтить, и всё тут!.. Мдя... Рация работает на танке... "Этому" - это "TOADу". ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2011, 08:32 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
pkarklinmesierТак вот я тоже так думал. Пока не поработал с MySQL. Этому подавай первичный ключ, если хочешь апдейтить, и всё тут!.. Мдя... Рация работает на танке... "Этому" - это "TOADу". Да хоть кому! Я так понял, что любой программе, использующей jdbc-вызовы. Можете назвать где такого требования нет? Где апдейт таблицы MySQL без pk будет работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2011, 09:37 |
|
Уникальная херь у Мускула - нельзя апдэйтить запись если в таблице нет поля primary key?
|
|||
---|---|---|---|
#18+
mesierМожете назвать где такого требования нет? Где апдейт таблицы MySQL без pk будет работать? В любой программе, которая не пытается сгенерить предикат для запроса, основываясь на получении метаданных. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2011, 09:41 |
|
|
start [/forum/topic.php?fid=35&msg=37480479&tid=1552633]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 380ms |
0 / 0 |