Anfänger benötigt Hilfe vom Experten - Unique Spalte?!

Kenwinter

Benutzer
Beiträge
6
Hallo liebe SQL Forenexperte,

ich wende mich an Euch weil ich dazu verdonnert wurde eine KOntaktliste in Strato zu pflegen diese aber dort nicht mehr so funktiniert wie ich Sie kennengelernt habe. Die haben von Strato aus eine neue SQL Version aufgespielt und seitdem kann ich in der Datenbank nur noch lesen oder sortieren aber nichts mehr ändern,löschen oder anfügen.

Oberhalb meiner Kontakte steht der Hinweis:

upload_2014-1-14_13-7-14.png

Wie kann ich als Laie eine Unique Spalte mit Primäry Key nachfügen - was SQL angeht habe ich 0 Kennttnisse, gegooglet und Forensuche habe ich genutzt aber ich komme nicht weiter leider.

Kann mir wer helfen bitte?

Gruß

K.Winter
 
Werbung:
Hallo liebe SQL Forenexperte,

ich wende mich an Euch weil ich dazu verdonnert wurde eine KOntaktliste in Strato zu pflegen diese aber dort nicht mehr so funktiniert wie ich Sie kennengelernt habe. Die haben von Strato aus eine neue SQL Version aufgespielt und seitdem kann ich in der Datenbank nur noch lesen oder sortieren aber nichts mehr ändern,löschen oder anfügen.


Btw.: Strato ist da ganz sicher unschuldig. Denen ist es schnuppe, ob die Tabelle durch Kunden mit oder ohne PK angelegt wird.
 
Danke für die schnelle Antwort :

ich geh mal davon aus das damit gemeint ist den Befehl als SQL einzugeben. Wenn ich das bei aufrufe kommt das:

upload_2014-1-14_13-17-18.png

Schmeiss ich da jetzt den Befehle einfach hinter den bestehenden oder muss ich rechts ne Spalte vorher auswählen?
 
Btw.: Strato ist da ganz sicher unschuldig. Denen ist es schnuppe, ob die Tabelle durch Kunden mit oder ohne PK angelegt wird.

Schnuppe ist das richtige Wort - am Telefon haben die mich an Ihre Faq verwiesen und man selbst verantwortlich ist. Erst selbst ändern und dann dem Kunden nicht mehr helfen, zum Glück gibts User die Usern helfen!
 
Schnuppe ist das richtige Wort - am Telefon haben die mich an Ihre Faq verwiesen und man selbst verantwortlich ist. Erst selbst ändern und dann dem Kunden nicht mehr helfen, zum Glück gibts User die Usern helfen!

[_] Du hast verstanden.

Dein Provider ist nicht dafür verantwortlich, was Du in Deinen Datenbanken machst. Wenn Du von SQL keinen Plan hast und Dir daher mit dem Maschinengewehr (Dauerfeuer) in den eigenen Fuß ballerst, dann ist das einzig und allein Dein Ding.

Wenn Dir der Hoster ein neues PMA hinstellt, welches plötzlich vielleicht zum editieren einen PK verlangt (ich weiß es nicht, ich arbeite weder mit MySQL noch mit PMA und weiß nicht, was da (angeblich) geändert wurde), dann ist das etwas, was Du nutzen KANNST, aber nicht MUßT.
 
Ja, Du sollst ja auch mitdenken. Tippst Du alles ungefiltert ein, ja?

Code:
delete from adressen_de;

Löscht Dir Deine Tabelle z.B. Ich hoffe, Du hast bis hier gelesen und nicht gleich Copy&Paste gemacht?

Quäle ruhig einen gequälten - delete löscht schon klar, aber was ist an dem obereren Befehl noch einzufügen , die DBNr? Der Name der zu bearbeitende Spalte?
 
Quäle ruhig einen gequälten - delete löscht schon klar, aber was ist an dem obereren Befehl noch einzufügen , die DBNr? Der Name der zu bearbeitende Spalte?

Was willst Du tun? Du willst
  • eine Tabelle ändern -> alter table
  • welche? -> Name
  • eine neue Spalte zufügen -> add column
  • diese braucht einen -> Name
  • diese soll primary key sein -> primary key

Gar nicht so schwer, oder? Kann aber sein, daß die Syntax in MySQL leicht anders ist -> Doku lesen.
 
Wenn ich das Richtig sehe, sollte dir dieser befehl helfen

Code:
alter table DB460711.adressen_de add column id serial primary key;

Bin ich mir etwas unsicher, weil
  • MySQL kennt kein Datentyp SERIAL
  • MySQL versteht, glaube ich, keine Inline-Definition von Primary Keys

Möglicherweise will der Fragesteller das als AUTOINCREMENT anlegen und in einem 2ten Schritt als PK definieren.
http://www.w3resource.com/mysql/altering-table/alter-table-add-primary-key.php
 
Hab ich mir auch gedacht aber der befehl funktioniert mit meiner DB.
Dass mit dem Autoincrement ist bei der Spalte natürlich von vorteil aber nicht notwendig

Was mir allerdings gerade einfällt, ist dass er evtl einen Fehler bekommt, weil es schon Daten gibt, und MySql nicht weis, was es da jetzt reinschreiben soll.
Ich hab es mit ner Leeren Tabelle probiert. Wie würde man es hinbekommen, die Tabelle ordentlich durchzunummerieren, wenn MySql das nicht selber kann ?
 
Werbung:
Wie würde man es hinbekommen, die Tabelle ordentlich durchzunummerieren, wenn MySql das nicht selber kann ?

MySQL entsorgen und eine andere DB nehmen? ;-)

Code:
test=# select * from foo;
 mitarbeiter | anzahl
-------------+--------
 hans  |  10
 otto  |  20
 willi  |  50
 anna  |  130
(4 rows)

test=*# alter table foo add column id serial primary key;
ALTER TABLE
test=*# select * from foo;
 mitarbeiter | anzahl | id
-------------+--------+----
 hans  |  10 |  1
 otto  |  20 |  2
 willi  |  50 |  3
 anna  |  130 |  4
(4 rows)
 
Zurück
Oben