php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.04.2011, 13:16  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Hallo noch mal
Danke euch alle für eure Beiträge
Ich hab da noch eine Frage
Wie mach ich das dann wenn ich doppelte Werte unterbinden will.
Ich weiß das ich das in SELECT mit DISTINCT machen kann.
Jetzt habe ich in meiner SELECT stehen:
SELECT uid, email, name ...
Jetzt müsste ich ja mit
SELECT distinct uid, email, name
etwas verhindern? Eigentlich würde diese Anweisung ja damit alles unterbinden?
Dass das so nicht geht verstehe ich!
Hab auch schon im Forum nachgesehen aber nichts gefunden.
Ich möchte aber jetzt zB. das der name unter der uid und der email nur einmal vorkommen darf.
Kann mir da vieleicht auch jemand einen Tipp geben.
mfg ejay

Geändert von ejay (20.04.2011 um 13:41 Uhr).
ejay ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.04.2011, 14:04  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.233
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Hoffen auf die Moderatoren und darauf, dass sie nicht allzu besoffen sind bei all dem Eierpunsch, den die da in ihrer Moderatorenecke wegsaufen. Ich habe heute schon 5 Kartons a 6 mal 1 Liter Flaschen beigezerrt.

Zwei Varianten:
a) Du legst einen UNIQUE KEY auf die betroffene Spalte (in deinem Fall 2 Keys, einen für die eMail-Spalte, einen für die Namens-SPalte). Damit veranlasst du die Datenbank bei einem INSERT zu meckern, sobald was doppelt ist.
b) Du fragst vor dem Insert ab ob dieser Inhalt schon irgendwo vorkommt. Das hat eventuell den Nachteil eine Race-Situation. Also wenn zwei User mit der gleichen eMail-Adresse nahezu gleichzeitig die Registrierung machen.

a) ist immer zu bevorzugen wegen der angesprochenen Race-Situation.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 20.04.2011, 20:48  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die schnelle und gute Antwort.
Konnte es leider nicht über UNIQUE KEY erledigen weil andere User den selben Text enthalten können. Deswegen hab ich es über eine Abfrage der Tabelle gemacht und es funktioniert supper.
mfg ejay
ejay ist offline   Mit Zitat antworten
Alt 21.04.2011, 14:20  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Hallo, ich schon wieder
Das Script funktioniert ...
PHP-Code:
session_start();
include(
'Verbindung_zur_DB');
if(isset(
$_POST['insert_select']))
{
$result mysql_query("
INSERT INTO tabelle2 ( uid, email, name )
SELECT uid, email, name FROM tabelle1 where uid='$uid'"
);

... jetzt will ich aber in tabelle1 gleichzeitig ein UPDATE vornehmen.
Da ich noch Anfänger bin hatte ich mir gedacht ich mache das dann so:
INSERT INTO tabelle2 ( uid, email, name, punkte )
UPDATE tabelle1 SET punkte = punkte - 0.5 WHERE uid = '$uid' and punkte >0
SELECT uid, email, name, punkte FROM tabelle1 where uid='$uid'

aber das klappt nicht so wie ich das gerne hätte.
bin auch schon seit gestern dran nach einer Anweisung zu suchen wie ich das lösen könnt.
Hab es gelöst über 2 Formulare aber ich hätte das gerne in einem.
Ist das möglich???
punkte >0 // Hier soll wenn keine Punkte vorhanden nichts ausgeführt werden ( nur zur Erklärung )
Vielen Dank für eure Hilfe
mfg ejay
ejay ist offline   Mit Zitat antworten
Alt 21.04.2011, 14:23  
Erfahrener Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 4.561
PHP-Kenntnisse:
Fortgeschritten
eagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Menscheagle275 ist ein sehr geschätzer Mensch
Standard

nee.. diesmal nicht .

Update / insert musst du trennen
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 21.04.2011, 14:25  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Danke für die schnelle Antwort dann muss ich es so lassen wie ich es habe.
mfg ejay
ejay ist offline   Mit Zitat antworten
Alt 22.04.2011, 14:46  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Jetzt hab ich noch eine Frage
Das ist im Moment meine Anweisung, ...
Code:
INSERT INTO tabelle2 ( uid, email, name )
SELECT uid, email, name FROM tabelle1 where uid='$uid'");
... jetzt wollte ich aber den Wert (name) selbst übergeben.
Kann mir da jemand sagen ob oder wie das geht.
mfg ejay

Geändert von ejay (22.04.2011 um 15:01 Uhr).
ejay ist offline   Mit Zitat antworten
Alt 22.04.2011, 14:52  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von ejay Beitrag anzeigen
Jetzt hab ich noch eine Frage
Die Fragestellung ist wieder mal reichlich „hingerotzt“ ...

Bitte nutze die entsprechenden Tags ([php] bzw. [code]), um Beispielcode zu formatieren.

Und formuliere das, was du willst, klar und deutlich - wieso zeigst du als zweites einen Code-Schnippsel, der mit dem ersten nicht mehr viel gemeinsam hat?

Und auf „aber das geht so nicht“ verzichte bitte vollständig - das keine keine vernünftige Problembeschreibung.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 22.04.2011, 14:54  
Benutzer
 
Registriert seit: 13.01.2011
Beiträge: 58
PHP-Kenntnisse:
Anfänger
ejay befindet sich auf einem aufstrebenden Ast
Standard

Hoffe das ist so besser wie ich es jetzt geschrieben habe.
mfg ejay

Geändert von ejay (22.04.2011 um 15:02 Uhr).
ejay ist offline   Mit Zitat antworten
Alt 22.04.2011, 15:11  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von ejay Beitrag anzeigen
... jetzt wollte ich aber den Wert (name) selbst übergeben.
Für alle Datensätze, die dieses INSERT-Statement einfügen soll, den selben?

Wenn ja, ist das sehr simpel - wenn du dir von einem SELECT-Statement einen „festen“ Wert liefern lassen willst, dann gibst du den einfach anstatt eines Spaltennamens in der Spaltenliste an.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
INSERT INTO funktioniert nicht Schorschologe Datenbanken 5 25.01.2011 16:02
[Erledigt] mehrfaches INSERT über PHP drzwockel PHP Tipps 2010 10 10.08.2010 11:03
SELECT INTO OUTFILE clientseitig nachgebaut - bitte kurz drübersehen G.Schuster PHP-Fortgeschrittene 9 11.04.2010 18:51
Pfoblem mit INSERT INTO...SELECT ... FROM pfump Datenbanken 20 11.11.2009 15:44
[Erledigt] Insert + Select über 2 entfernte DB's Boennchen Datenbanken 9 03.11.2009 07:18
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
Differenz zwischen 2 Zahlen duderino PHP Tipps 2006 19 10.08.2006 22:12
INSERT syntax - gibt es die möglichkeit VALUES und SELECT zu PermanetMarker Datenbanken 8 06.07.2006 12:48
[Erledigt] SET-Spalten case-sensitive updaten. Datenbanken 9 28.08.2005 10:29
mysql dump einspielen (ohne phpmyadmin) PHP Tipps 2005-2 6 18.06.2005 21:50
[Erledigt] fehler den ich noch nie gesehen habe Datenbanken 7 09.06.2005 14:29
dynamisches MENÜ aus db lesen.probleme mit SUBid !! PHP Tipps 2005 26 24.03.2005 18:53
[Erledigt] MySQL-DB gibt keine Daten zurück!!! Datenbanken 4 21.12.2004 21:00
[Erledigt] INSERT INTO SELECT an mehrere Tabellen? Datenbanken 6 17.09.2004 16:57
Zeile einfach überspringen bei Unique-Verletzung tapferesschneiderlein Datenbanken 6 03.09.2004 14:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysql insert into fester wert und select *, insert into values(select, ejay besoffen, insert into select * from,, select * into oder insert into, insert into select * mit festem wert, insert into select

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:39 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum