Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 03-11-2004, 21:51
Orion
Avatar van Orion
Orion is offline
Ik wil direct achter elkaar de volgende code uitvoeren, maar dit werkt niet

Code:
$query = "DROP TABLE xfers";
$result = &doQuery($query);

$query = "CREATE TABLE xfers ($std_table) TYPE=MERGE UNION=($existing_tables)";
$result = &doQuery($query);
De error die ik krijg is als volgt:
Citaat:
DBD::mysql:t execute failed: Not unique table/alias: 'xfers' at ./ftpstats.pl line 252, <STDIN> line 927.
Het lijkt erop dat niet wordt geregistreerd dat de table wordt gedropt, maar dit is wel zo (na het uitvoeren van het script bestaat de table niet meer.)


Ik gebruik hiervoor DBI en DBD-mysql voor Perl


doQuery ziet er zo uit:
Code:
sub doQuery # Do a MySQL query 
{
	my ($query) = @_;

	my $result = $db_conn->prepare($query);
	if (!$result) {
		warn("Preparation error:\n$query\n$DBI::errstr");
	} else {
		if (!($r = $result->execute)) {
			warn("\nMySQL error, trying again in 5 secs\n\n");
			sleep 5;
			if (!($r = $result->execute)) {
				warn("\nMySQL error on:\n$query\n" .
				"Returned:\n$DBI::errstr\n\n");
				return -1;
			}
		}
	}

	return $result;
}

Hoe los ik dit op? Wordt er een cache van bestaande tabels bijgehouden ofzo? En hoe zou ik die kunnen flushen?
__________________
Ongefilterd. Van nature troebel.
Met citaat reageren
Advertentie
Oud 04-11-2004, 12:01
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Waarom gebruik je Perl?
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Oud 04-11-2004, 12:24
Orion
Avatar van Orion
Orion is offline
Citaat:
Manuzhai schreef op 04-11-2004 @ 13:01 :
Waarom gebruik je Perl?
Ten eerste omdat dit geen webapplicatie is. Ten tweede omdat het een standaard script is, geschreven in Perl.
__________________
Ongefilterd. Van nature troebel.
Met citaat reageren
Oud 04-11-2004, 12:28
Verwijderd
werkt het aanmaken van een andere tabel wel?
Met citaat reageren
Oud 04-11-2004, 13:24
iamcj
Avatar van iamcj
iamcj is offline
Mischien eerst renamen als omwegoplossing
__________________
Wie bang is voor morgen, kan niet genieten van vandaag.
Met citaat reageren
Oud 04-11-2004, 15:41
Orion
Avatar van Orion
Orion is offline
Het bleek een heel stom foutje te zijn.

Nieuwere MySQL versies geven blijkbaar quotes om opsommingen van beschikbare databases en daar was dit script niet op voorbereid.

Een paar regexp's aanpassen voldeed.


Bedankt iig!
__________________
Ongefilterd. Van nature troebel.
Met citaat reageren
Oud 04-11-2004, 19:58
Manuzhai
Avatar van Manuzhai
Manuzhai is offline
Citaat:
Orion schreef op 04-11-2004 @ 13:24 :
Ten eerste omdat dit geen webapplicatie is. Ten tweede omdat het een standaard script is, geschreven in Perl.
Oh, ja, ik ben tegenwoordig van het Python.
__________________
Slechts beschikbaar via naamzoek/privebericht.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 17:21.