Mysql
 sql >> база данни >  >> RDS >> Mysql

Вмъкнете данни от формуляра в две различни таблици в базата данни чрез jsp страница

Решение 1

Създайте две различни инстанции за вашите две операции за вмъкване.

Решение 2

Ако искате да използвате повторно един екземпляр на Statement, затворете ресурсите в Най-накрая блок. Всъщност винаги е добра идея да поставите изявлението close в накрая блокирайте или просто използвайте try-catch-resource което jdk7+ може да предложи.

Не е свързано с вашите конкретни въпроси

  • Силно препоръчително е да избягвате използването на java код в jsp файл. Търсете термините "jsp servlet mvc".
  • Използвайте PreparedStatement вместо Statement, за да избегнете атака с инжектиране на sql.

РЕДАКТИРАНЕ за решение 1:

Във вашия блок за първи опит:
Под Statement myStatement = myConnection.createStatement();
добавете Statement myStatementTwo = myConnection.createStatement();

Във втория си блок за опит:
променете myStatement.executeUpdate(sqlString);
към myStatementTwo.executeUpdate(sqlString);

Добавете последен блок за вашия блок за първи опит и затворете целия си ресурс там. Редактирането на кода ви е почти същото като пренаписването на всичко от нулата, ще ви е от най-голяма полза, ако можете да го направите сами.

РЕДАКТИРАНЕ, след като OP предостави HTML код и база данни

Вашите Cest_has_Categories Dest_idDest на таблицата е auto_increment колона, но също така е външен ключ, препращащ Цел Първичният ключ на idDest . Външните ключове на справочна таблица (съвместна таблица) не трябва бъде auto_increment. Ще има проблеми, ако автоматично увеличената стойност, генерирана от СУБД, не съществува в референтната таблица.

Моля, направете външните ключове да не се автоматично_инкрементират и когато вмъквате в референтната таблица Dest_has_Categories , моля, поставете съществуващи Категории идентификатор на и Цел идентификатор на

Освен това, когато променяте кода си, не забравяйте да използвате и моето Решение 2 за най-добра практика.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ремонтирайте всички маси наведнъж

  2. Не може да се стартира MySQL сървър - Контролният процес е излязъл с код за грешка

  3. MySQL Connector/J буферира ли се редове при поточно предаване на ResultSet?

  4. Генериране на MySQL в Excel с помощта на PHP

  5. Съхранявайте PHP код в MySQL и го накарайте да работи