more than one row returned by a subquery used as an expression

0

w testach automatycznych próbuję dodać pewien rekord z numerem.. wykorzystuje 2 tabele do uzupełnienia.
Dlaczego pojawia mi się błąd taki jak w temacie?

	public void addRecord(String customersId, String campaignsId, String number){
		String sd = "'{\"nowe pole 1\":\"}'";
		String query = "INSERT INTO workforce.records("+"customers_id," +"campaigns_id," + "values)"
				+ "VALUES (" + customersId +"," + campaignsId + "," + sd +");";
		
		
		//dodajemy numer do rekordu
		String query2 = "INSERT INTO workforce.record_numbers(records_id,number)"
		+ "VALUES("
		+ "(select id from workforce.records where customers_id ="+ customersId +" and values ="+ sd +"),"+ number+ ")";
		connectDb.query(query);
		connectDb.query(query2);
		
	}
0

nie pomogło mi to

3

Korzystając z konstrukcji INSERT INTO xxx VALUES (yyy) w każdym nawiasie zamiast 'yyy' może się znajdować wyłącznie jedna wartość, tymczasem Ty wrzuciłaś sobie tam radośnie SELECTA który może zwrócić więcej niż jeden rekord. Jeżeli chcesz dodać więcej niż jeden rekord to skorzystaj z INSERT INTO xxx SELECT yyy

1 użytkowników online, w tym zalogowanych: 0, gości: 1