Ok WoLpH был быстрее, я в основном согласен (обратите внимание, что вам нужно создать ограничение single на обоих столбцах одновременно!). И просто объясните, почему вы сталкиваетесь с правилами, которые вы упомянули: Как правило, A и B - разные таблицы. Таким образом, типичный пример для отношений n: m позволит вводить записи (1,0) и (0,1), потому что они будут ссылаться на разные пары. Наличие таблицы A = таблица B - это другая ситуация (вы используете пользователей A и B как пользователей, но в примере они являются таблицами).
NSISdl, Inetc и т. д., предназначены не только для загрузки / скачивания файлов. Я думаю, вы неправильно понимаете этот момент. Вы можете использовать их для вызова REST apis, но вам нужно сохранить ответ в локальном файле, а затем проанализировать его.
Пример: вызов REST api, который отвечает на XML:
# Call to REST API
NSISdl::download_quiet "http://remotesite?restparams" "$TEMP/result.xml"
# Parse answer
nsisXML::create
nsisXML::load "$TEMP/result.xml"
nsisXML::select "/response/status"
# Clean
delete "$TEMP/result.xml"
Вот и все.
Я бы рекомендовал INetC над NsisUrlLib, более старый установщик Firefox использовал его с большим успехом.
NSISdl::download_quiet "http://127.0.0.1/vid.php?vid=1" "$TEMP/checkvid.txt" FileOpen $0 $TEMP\checkvid.txt r FileRead $0 $1 DetailPrint $1 FileClose $0 ${If} $1 == "vidNTYE1203" MessageBox MB_OK "video found" Delete "$TEMP\checkvid.txt" ${Else} MessageBox MB_OK "bye bye" Delete "$TEMP\checkvid.txt" Quit ${EndIf}
Это мой фрагмент работы для production.Working хорошо, для меня. Обратите внимание на команду «Удалить» и «\» слэш.