Hallo,
kann man eine grobe Aussage machen wieviel Anfragen MySql in Server Version 5.0.27 gleichzeitig bedienen kann? Hardware ist ein Centrino Duo T2300 mit 1GB RAM, OS Win XP Home, falls das wichtig ist...
Danke & Gruß
ja das is der nachfolger vom DBDesigner. Man kann auch DBDesignermodelle in die Workbench importieren zumindestens soll das so sein. In der Alphaversion hat das bei mir allerdings nicht geklappt.
also ich hab nochmal nachgedacht:
Tab_CD(CD_ID, Interpret, Album_name)
Tab_CD_NR(CD_ID, CD_NR)
Tab_Titel(CD_NR, Titel_NR, Titel_name)
so müßte wohl die 3.NF aussehen ... zumindestens wäre das in etwa so wie man das immer ließt wie eine dritte NF aussehen kann. andere Vorschläge?
Hi
folgendes Problem. Ich habe eine Spalte Test vom typ text wenn ich jetzt versuche diese Unique zu setzten krieg ich den ERROR 1170.
ALTER TABLE einetabelle CHANGE test test text UNIQUE;
So krieg ich also Fehler 1170.
ALTER TABLE einetabelle CHANGE test test varchar(100) UNIQUE.
Das funktioniert. Frage Warum? Kann ich eine textspalte nich unique setzen? Bei text muss ich doch keinen länge angeben oder? Selbst wenn ich versuche bei text ne länge anzugeben funzts net und ich krieg wieder ERROR 1170.
Meine mysql-version is 5.0.18-7
MFG eiskalt
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Datenbanken verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Linux/Unix in das Forum Datenbanken verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Linnea schrieb:
allerdings sollte es auch reichen wenn du ODER/OR statt UND/AND verwendest
Eben, WHERE/IN in dieser Form liefert dassselbe wie OR, und das will er ja nicht. Er will die note_ids, die jeweils einen notestags-Datensatz mit tag_id 3, 12 und 17 haben.
Das müsste mit einem Subselect gehen. Das kann aber nicht jedes DBMS.
SELECT notes.note_id
FROM notes INNER JOIN notestags ON notes.note_id = notestags.note_id
WHERE notestags.tag_id = 3 AND notes.note_id IN (
SELECT notes.note_id
FROM notes INNER JOIN notestags ON notes.note_id = notestags.note_id
WHERE notestags.tag_id = 12 AND notes.note_id IN (
SELECT notes.note_id
FROM notes INNER JOIN notestags ON notes.note_id = notestags.note_id
WHERE notestags.tag_id = 17
)
)
Die kann man natürlich noch tiefer verschachteln.
Möglicherweise geht's auch einfacher.
hansi hinterseer schrieb:
Hallo,
so jetzt hau ich das hier nochmal rein,
also Primärschlüssel ist die ID (vom type char da ich net mehr als 255 Datensätze erwarte und dafür 1 Byte reicht) und wird beim erzeugen der Tabelle angelegt.
Ich würde den PK nicht als Char(1) anlegen. Warum ?
Weil ich nur mit Int oder BigInt einen Generator benutzen kann,
welcher mir einen eindeutigen PK automatisch erzeugen kann (im Tabellen-Trigger before insert). Die ca. 8kbyte Festplattenplatz (bei 255 Datensätzen) "verschwende" ich dafür gerne.
Der PK wird beim Insert erzeugt und nicht beim anlegen der Tabelle .
hansi hinterseer schrieb:
Das is doch alles blöd wenn ich nen Datensatz ändere und dann CommitRetaining() nutze (damit es aktualisiert wird ohne die Transaktion zu beenden und damit der Datensatzzeiger auf der aktuellen Position bleibt) und dann trotzdem:
void __fastcall TForm1::IBDataSet1AfterPost(TDataSet *DataSet)
{
IBDataSet1->Active = false;
IBDataSet1->Active = true;
}
aufrufen muß um den Datensatz im DBGrid richtig einsortieren zu lassen wobei mein Datensatzzeiger wider auf die erste Position fällt!
Ergo: Für mich ist Commit=CommitRetaining da ich nach beiden den Datensatzzeiger wieder Händisch auf die aktuelle Position setzen muß!
Ist leider richtig beim DBGrid. Ist doch aber auch nicht so auwendig. Man merk sich den PK und dann ein gepflegtes locate(...
hansi hinterseer schrieb:
Es muß da doch was geben da es bei IBTable au die tolle Funktion IndexName() gibt und IBTable doch IBDataSet untergeordnet is!
Die Funktion IndexName gibt es laut Hilfe in der Klasse TCustomClientDataSet die ja von IBDataSet abgeleitet sein müßte oder???
IBTable und IBDataSet haben den selben Vorfahren (IBCustomDataSet ) und sind nicht voneinander abgeleitet.
Vielleicht nochmal einen Blick ins OOP-Buch ?
TCustomClientDataSet ist was ganz anderes (siehe Hilfe)
sqlerror schrieb:
@tntnet: und wenn ich das eingebe, kriege ich auch eine Fehlermeldung.
[Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in FROM-Klausel.
Ich hatte das einfach so aus dem Kopf ohne Test eingegeben. Da kommt so etwas schon vor. Das soll eher als Denkanstoß dienen und Denken solltest Du schon. Wenn Du genauer hinschaust, wirst Du bemerken, daß ich Tabelle1 gar nicht selektiert habe. Du benötigst nämlich keine Daten daraus.
Deine Lösung sieht so aus, als hättest Du so lange mit left, right und join jongliert, bis der Server das verstanden hat. Aber offensichtlich verstehst Du nicht so ganz, was Du da machst. Du solltest Dir dringend mal ein SQL-Tutorial vor nehmen. Das spart auf Dauer ungemein Zeit.
Mit der Methode ExecSQL können Sie die SQL-Anweisung der Abfrage ausführen.
Zitat aus der BCB-Hilfe zu TQuery::ExecSQL():
Mit ExecSQL können Sie die Anweisung ausführen, die aktuell in der Eigenschaft SQL enthalten ist. Mit ExecSQL können Sie Anweisungen ausführen, die keinen Cursor auf Daten (wie z.B. INSERT, UPDATE, DELETE oder CREATE TABLE) zurückgeben.
Hinweis
Für die SELECT-Anweisung verwenden Sie statt ExecSQL die Methode Open.
Da steht doch ganz klar, welche Funktion für was zu verwenden ist?!?
Moin,
kann es sein, dass Dein Server mit dem Modus NO_AUTO_CREATE_USER läuft ?
[...]
NO_AUTO_CREATE_USER
Verhindert, dass GRANT automatisch neue Benutzer erstellt, sofern es dies tun würde (es sei denn, es wird ein nicht leeres Passwort angegeben).
[...]
*
Versuche doch mal ein Password mitzugeben :
GRANT ALL ON test_gb.* TO testacc@localhost IDENTIFIED BY 'abc';
Der SQL-Modus des Servers
Gruß SciFi
Also wir hatten mal ein Java Projekt wo wir auch mit beiden DB-Systemen arbeiten mussten, Oracle 10 und MSSQL Server 2005, beides die jeweils kostenlosen Versionen. Es ging darum die Struktur von Datenbanken zu analysieren. Bei MSSQL lief das alles sehr flott, Oracle hinkte dagegen wie eine Schnecke hinterher. Kann natürlich sein, dass die Person die da für Oracle zuständig war Mist gebaut hat, glaube ich aber nicht, da die Zugriffe eigentlich alle analog mittels JDBC getätigt wurden. Eventuell lags auch am Treiber, aber das war der von Oracle empfohlene...
Die Fehlermeldungen waren bei MSSQL eigentlich relativ verständlich und aussagekräftig, während wir bei Oracle eigentlich oft nur nichtssagende dubiose Meldungen bekamen. Naja wie gesagt, da wir weder Spezis in MSSQL noch Oracle waren, muss das ja nicht unbedingt viel bedeuten... kann aber trotzdem einen Anhaltspunkt geben
Ich habe nicht behauptet, dass der Zeiger NULL ist Den Gedankenfehler hatte ich auch mal, musste mich aber eines besseren belehren lassen.
Versuche doch mal die Row anzusprechen. Das dürfte nicht gehen.
Das mit den Zeiger und NULL kannst Du hier nochmal nachlesen : http://www.c-plusplus.net/forum/viewtopic-var-t-is-164816-and-highlight-is-%2Asafedelete%2A.html