Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Всем привет! Имеется две таблицы. Системные блоки: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Помещения: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Они, соответственно, связаны по id_room. Также есть еще таблицы, связанные с "sb", но о них в данном случае не говорим. Задача простая: вставить запись в обе таблицы, а именно вставить данные в следующие поля: sb.sb_name, room.room_type, room.num, room.floor. Выполняю запрос: Код: sql 1. 2. На то вылезает ошибка: Ошибка при выполнении SQL запроса к базе данных 'database': FOREIGN KEY constraint failed В чем может быть проблема? :( PS: все телодвижения выполняю в SQLiteStudio ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 13:01 |
|
||
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
1. ошибка при выполнении запроса 2? Код: sql 1. 2. 2. что вернет last_insert_rowid() после первого запроса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 13:08 |
|
||
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Winnipuh, да, ошбка после второго запроса. Данная переменная возвращает id последней добавленной записи ( https://www.sqlite.org/c3ref/last_insert_rowid.html) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 13:14 |
|
||
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
G00dWINeWinnipuh, да, ошбка после второго запроса. Данная переменная возвращает id последней добавленной записи ( https://www.sqlite.org/c3ref/last_insert_rowid.html) не совсем так, но я в курсе, а что она возвращает в вашем случае ? ид добавленной записис, которая должна быть FK во втором запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 13:19 |
|
||
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
Winnipuh, да, так и планировалось использовать данную конструкицю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 16:20 |
|
||
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
G00dWINe, Убери UNIQUE в определении id полей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2016, 20:54 |
|
||
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
White OwlG00dWINe, Убери UNIQUE в определении id полей. Это действие проблему не решило. Проблема была в, видимо, баге SQLiteStudio, который не позволяет выполнять сразу две команды, написанные через ";" в одном SQL-редакторе запросов. Если выполнить данные команды раздельно (в разных SQL-редакторах), то все работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2016, 06:56 |
|
||
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
У меня тут возник следующий вопрос! Как избавиться от дублирования записей в дочерней таблице? Допустим, мы добавляем записи этим запросом, но в одном помещении находится несколько компьютеров? Если выполнить два раза эту sql-конструкцию, то в таблицу sb внесутся две записи, ссылающиеся на разные записи в room (которые в room будут одинаковыми, различия будут лишь в id). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2016, 07:34 |
|
||
|
insert в связанные таблицы
|
|||
|---|---|---|---|
|
#18+
G00dWINeУ меня тут возник следующий вопрос! Как избавиться от дублирования записей в дочерней таблице? Допустим, мы добавляем записи этим запросом, но в одном помещении находится несколько компьютеров? Если выполнить два раза эту sql-конструкцию, то в таблицу sb внесутся две записи, ссылающиеся на разные записи в room (которые в room будут одинаковыми, различия будут лишь в id).Нет, тогда ты получишь фигню на втором компьютере. Код: sql 1. 2. 3. Так что, проще всего не используй эту функцию напрямую. Делай что-то в духе: Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2016, 20:19 |
|
||
|
|

start [/forum/topic.php?fid=54&msg=39142510&tid=2008631]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 281ms |
| total: | 568ms |

| 0 / 0 |
