Nun ist es so, dass ein create table-Statement oder ein drop table-Statement zwar ausgeführt wird, aber DBI einen $DBI::errstr wirft, siehe Betreff. Was bedeutet dieser $DBI::errstr?
Vermutlich weil ein selectall_arrayref nicht nur ein execute ausführt, sondern auch versucht die Daten zu lesen, die es aber bei einem DROP oder CREATE TABLE nicht gibt.
Ja, mein Lieber, das ist richtig. Es geht eigentlich eher um die Programmiertechnik, diese verschiedenen 'Arten' von Statements so zu handeln, dass stets ein stabiler Zustand des Scripts sichergestellt ist mit unmissverständlichen Ausgaben an den DAU ;)
Also, ich habs hinbekommen mit 'RTFM', und da steht was von '0E0' für genau diesen Fall, dass keine Rows zu erwarten sind. Habe fertisch,
Grüße aus Oppenheim,
Hotti
=== Perl My Admin =============
SQL an Host: rolfrost.de
Mehrzeilige Eingabe, senden mit ^Z in neuer Zeile
show tables
^Z
DB-Verbindung OK
Aktion: sql
Ergebnis: 6 Rows
book
log
moon
onkz
unicode
vendors
Script beenden mit ^Z oder neues mehrzeiliges Statement eingeben und senden mit
^Z in neuer Zeile
create table test(name varchar(1))
^Z
DB-Verbindung OK
Aktion: sql
Statement OK
Script beenden mit ^Z oder neues mehrzeiliges Statement eingeben und senden mit
^Z in neuer Zeile
drop table test
^Z
DB-Verbindung OK
Aktion: sql
Statement OK
Script beenden mit ^Z oder neues mehrzeiliges Statement eingeben und senden mit
^Z in neuer Zeile
drop table test
^Z
DB-Verbindung OK
Aktion: sql
Fehler: Unknown table 'test'
Script beenden mit ^Z oder neues mehrzeiliges Statement eingeben und senden mit
^Z in neuer Zeile