|
|
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
добрый день ! такой вопрос - как из java записать данные в две таблицы table A - table B связь один ко многим по ключу. в первой таблице лежит id и текст - во второй лежит id этой записи из первой таблице и то куда эта запись отправится . т.е нормальная форма . что надо сделать просто по шагам ? не очень понимаю как написать такой запрос ? Код: java 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.11.2012, 23:48:01 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
начать транзакцию вставить в одну таблицу, получить сгенеренный ПК getGeneratedKeys() вставить в другую таблицу используя значение ПК закомитить транзакцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 00:06:00 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, команду connection.setAutoCommit(false); надо выставлять ? 1. insert into table a (id ,name) values ( ? ,?) 2.prepareStatment (sql) 3.set id set name 4.execute() ? 5. получение id новой записи - 6. fori - insert into table b (id ,id_a, id_t) values ( ? ,? ,?) так ? что-то в конце? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 00:26:35 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 10:14:08 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
JavaDoc по JDBC вообще пробовали читать? ИЛи туториал? Atum1команду connection.setAutoCommit(false); надо выставлять ? Зависит от требований. Если нужно чтобы обязательно было или 0 или две записи. То нужно. Если не страшно, что первая вставится, а вторая приведет к ошибке, то можно и оставить автокомит. Atum11. insert into table a (id ,name) values ( ? ,?) 2.prepareStatment (sql) 3.set id set name PK обычно генерятся на сторон базы. У вас как? Atum14.execute() ? executeUpdate() ? Atum15. получение id новой записи - 6. fori - insert into table b (id ,id_a, id_t) values ( ? ,? ,?) так ? fori ? Да. Atum1что-то в конце? connection.commit() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 11:03:54 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, соре, а чо такое fori? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 11:32:39 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
grasoff.netBlazkowicz, соре, а чо такое fori? Самому интересно. "Да" относилось к цитате. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 11:38:17 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Blazkowiczgrasoff.netBlazkowicz, соре, а чо такое fori? Самому интересно. "Да" относилось к цитате.ммм, ок ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 11:39:05 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
grasoff.net, цикл по всем id - на которые надо отправить сообщение! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 13:14:15 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
grasoff.netBlazkowiczпропущено... Самому интересно. "Да" относилось к цитате.ммм, ок ) Как я понимаю должен получиться такой код! и что в конце : Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 13:26:53 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Просто еще один вопрос- если записей которые нужно вставить в таблицу B 1000 или больше - как организовать их вставку - отдельными командами insert - после каждой делать statement.addBatch(); после каждой 100 делать statement.executeBatch(); или как то иначе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 14:15:41 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Atum1или как то иначе? нужно знать всю задачу. Т.к. глупо вставлять 1000 записей из таблицы А в таблицу Б через клиента. А если скорость не важна, то и вопрос надуман - вставляй пачкой за раз. ______________________________________________ "Сделай настолько просто, насколько это возможно, но не проще". © А. Эйнштейн. AutoPOI.ru — ГИС-технологии для Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 14:49:52 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Atum1Просто еще один вопрос- если записей которые нужно вставить в таблицу B 1000 или больше - как организовать их вставку - отдельными командами insert - после каждой делать statement.addBatch(); после каждой 100 делать statement.executeBatch(); или как то иначе? Задачу я описал - есть нормальная форма - две таблицы связаны между собой по ключам - у меня есть 1000 пользователей которым надо отправить одно и тоже сообщение в первой таблице у меня id сообщения и текст сообщения во второй -id сообщения из первой таблицы и id_user которому это сообщение должно упасть . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 17:21:35 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Atum1, тебе лень привести пример? Первая табла - это справочник ВСЕХ НЕПОВТОРЯЕМЫХ УНИКАЛЬНЫХ сообщений. А вторая - кому они отправляются. теперь переведи и приведи хотя бы 3 сообщения автору меня есть 1000 пользователей которым надо отправить одно и тоже сообщениея лично ничего не понял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 18:08:49 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Petro123, ну вроде достаточно описал систему- точнее упростил чтобы донести саму суть что надо сделать ... у вас есть таблица с пользователями - они же подписчики ... у вас есть интерфейс - в котором вы вводите сообщения -и указываете каким пользователям вы отправляете это сообщение. к примеру : в браузере ввозите - "ребята сегодня идем играть в футбол!" и указываете кому вы это отправляете - id = 2 , id = 34 , id =56 в первую таблицу попадает сообщение = >id = 345 , message = "ребята сегодня идем играть в футбол!" во вторую - id = 100; id_m = 345 , id_u = 2 id = 101; d_m = 345 , id_u = 34 id = 102; id_m = 345 , id_u = 56 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 22:04:56 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Atum1, тогда в 1 таблице будет 345 "ребята сегодня идем играть в футбол!" 346 "Ребята сегодня идем играть в футбол! 347 "ребятКИ сегодня идем играть в футбол!" если поиск дубликатов и Ид оставлен за скобками, тогда всё понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 23:18:46 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Petro123, ну а по сабжу - СУБД с 1000 инсертами справится, не переживай. А вот пользователь в ГУИ - нет. Тестируй нагрузочным вместе с юзверями и ищи Тонкое место. Все так пишут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2012, 23:27:00 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Petro123Atum1, тогда в 1 таблице будет 345 "ребята сегодня идем играть в футбол!" 346 "Ребята сегодня идем играть в футбол! 347 "ребятКИ сегодня идем играть в футбол!" если поиск дубликатов и Ид оставлен за скобками, тогда всё понятно Да - оставлен. вопрос был как организовать запись в две связанные таблицы - со всеми преустановками и откатами если возникнет ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 10:06:01 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Atum1. вопрос был как организовать запись в две связанные таблицы - со всеми преустановками и откатами если возникнет ошибка. ЕЩЕ РАЗ Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. откатить транзакцию можно и по другим условиям авторесли записей которые нужно вставить в таблицу B 1000 или больше - как организовать их вставку - отдельными командами insert - после каждой делать statement.addBatch(); после каждой 100 делать statement.executeBatch(); типо того, циклом добавляем инсерты в batch на необходимой итерации и в конце цикла делаем executeBatch Petro123Atum1, автору меня есть 1000 пользователей которым надо отправить одно и тоже сообщениея лично ничего не понял спамер походу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 12:01:13 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
silvan, походу ты ничего не написал, кроме надцать строк try ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 12:12:27 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Petro123silvan, походу ты ничего не написал, кроме надцать строк try?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 12:22:49 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
silvan, я имею ввиду, что это вопрос уже обсосали со всех сторон. Хочет чел делать 1000 _и более_ инсертов - пусть вставляет. Ему никто не мешает. И даже СУБД от этого не поперхнётся) Если ты сервер, не суетись под клиентом (с) )) Удачи аффтару! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 12:29:06 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
silvan Спасибо! то что надо :) p.s. - это не спаммашина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 16:12:03 |
|
||
|
Java запись в две связанные таблицы
|
|||
|---|---|---|---|
|
#18+
а хранимки под запретом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2012, 17:54:15 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38055965&tid=2130472]: |
0ms |
get settings: |
18ms |
get forum list: |
26ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
67ms |
get topic data: |
21ms |
get forum data: |
6ms |
get page messages: |
93ms |
get tp. blocked users: |
3ms |
| others: | 331ms |
| total: | 579ms |

| 0 / 0 |
