php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.01.2011, 07:19  
Neuer Benutzer
 
Registriert seit: 31.01.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Jseph befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Einfügen eines DS und Anpassen des AI Feldes

Sehr geehrte Damen und Herren,

ist es möglich nachträglich Datensätze in eine Tabelle einzufügen, wobei alle bereits vorhandenen DS "nach oben verschoben werden". Soll heißen ihre auto-increment-id wird um eins erhöht. Der neue DS würde praktisch "dazwischengewichtelt" werden.

Falls ja: wie heißt dieser Vorgang, damit ich das suchen kann?

Vielen Dank!
Jseph ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 31.01.2011, 07:56  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Es ist nicht sehr sinnvoll mit dem Index einer Tabelle rumzuspielen. Warum genau willst du denn Einträge an einer Index-Stelle einfügen die schon besteht ? Was genau hast du vor umzusetzen ?
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 31.01.2011, 08:09  
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

ich denk mal, er möchte die Tabelle schön sortieren oder ähnliches ...

ABER das brauchst du gar nicht ... die Datenbank enthält Mechanismen und Programmroutinen, die auf "unsortierte" Daten vorbereitet sind.
Im Gegenteil .. so wie tr0y das andeutet.... vor allem, wenn du verknüpfte Tabellen (Foreign keys) hast, ist es eher unklug am Primärschlüssel herumzufriemeln - der dient nämlich nicht der Sortierung, sondern der eindeutigen Identifikation des betreffenden Datensatzes
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 31.01.2011, 09:19  
Neuer Benutzer
 
Registriert seit: 31.01.2011
Beiträge: 3
PHP-Kenntnisse:
Fortgeschritten
Jseph befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank für die schnelle Antwort zu früher Stunde.
In der Tabelle sind Links abgelegt. Ein Datensatz besteht aus url, namen der ausgabebox und dem eigentlichen Link-Namen. Im moment werden die dann SORT BY id ausgegeben. Es existiert also keine Information über die Ausgabereihenfolge. Die wollte ich aber jetzt beeinflussen, um thematisch ähnliche Links aufeinander folgend ausgeben zu können. Wenn das mit dem nachträglich manipulierten Index also ein Irrweg ist, muss ich wohl die Reihenfolge mit separater Spalte festlegen. (?)

Lg
Jseph ist offline   Mit Zitat antworten
Alt 31.01.2011, 09:21  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

sort_id

als spalte anlegen und damit sortieren und finger vom index lassen ^^
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 31.01.2011, 09:21  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.164
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
vor allem, wenn du verknüpfte Tabellen (Foreign keys) hast, ist es eher unklug am Primärschlüssel herumzufriemeln
Nicht immer ist ein Primärschlüssel ein autoincrement-Feld. Und gerade Foreign Keys ermöglichen es ja, dass man den Primärschlüssel auch ändern kann. "ON UPDATE CASCADE".

Ein kleines Beispiel zum Testen:
Code:
create table `table1` (
  id int primary key,
  name varchar(100)
) engine = innodb;

create table `table2` (
  pid int,
  name2 varchar(100),
  constraint `fk_table_1_2` foreign key (`pid`) references `table1`(`id`) on update cascade on delete cascade
) engine = innodb;


insert into `table1` values (1, 'Tester');
insert into `table1` values (2, 'Tester2');
insert into `table1` values (3, 'Tester3');

insert into `table2` values (1, 'Tester REF');
insert into `table2` values (2, 'Tester2 REF');
insert into `table2` values (3, 'Tester3 REF');

update `table1` set id = 4 where id = 2;

select * from `table2`;
__________________
Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)
dennis81 ist offline   Mit Zitat antworten
Alt 31.01.2011, 09:29  
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

ok, ON UPDATE CASCADE entschärft das Problem etwas

setzt aber INNODB voraus, man kann aber durchaus auch in MyISAM das Verhalten von Fremdschlüsseln benutzen - aber da muss man halt alle UPDATEs selbst durchreichen ... und das vergisst man doch mal - oder hat nen kleinen Bug
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 ist offline   Mit Zitat antworten
Alt 31.01.2011, 09:39  
Erfahrener Benutzer
 
Registriert seit: 13.05.2009
Beiträge: 1.164
PHP-Kenntnisse:
Fortgeschritten
dennis81 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von eagle275 Beitrag anzeigen
setzt aber INNODB voraus, man kann aber durchaus auch in MyISAM das Verhalten von Fremdschlüsseln benutzen - aber da muss man halt alle UPDATEs selbst durchreichen ... und das vergisst man doch mal - oder hat nen kleinen Bug
Ja, durchaus. Zumal ich zur o.g. Variante auch nicht wirklich raten würde, wenn man nicht weiß was man macht.
__________________
Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)
dennis81 ist offline   Mit Zitat antworten
Alt 31.01.2011, 09:58  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Es existiert also keine Information über die Ausgabereihenfolge. Die wollte ich aber jetzt beeinflussen, um thematisch ähnliche Links aufeinander folgend ausgeben zu können.
weiß nicht ob Dir das was bringt:
eine default-Sortierung erhälst mit ALTER TABLE tabelle ORDER BY spalte


__________________
Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.
Koala ist offline   Mit Zitat antworten
Alt 31.01.2011, 10:02  
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

bringt schon was, Koala - aber dazu braucht er erstmal diese Referenzspalte, nach der dann die Sortierung erfolgen könnte - aber eigentlich braucht er danach nicht die ganze Tabelle umsortieren, sondern nur zur Ausgabe die Links sortieren
__________________
"Irren ist männlich", sprach der Igel und stieg von der Drahtbürste
eagle275 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
[Erledigt] Mit PHP einen Text ins Bild einfügen olixes PHP Tipps 2010 5 14.06.2010 01:02
Array Element zwischen zwei andere einfügen Ti-Systems PHP Tipps 2009 6 19.09.2009 18:01
Login.php in index.html einfügen - Fehler!? bayway HTML, Usability und Barrierefreiheit 6 10.09.2009 22:50
Login in HTML einfügen - Fehler! bayway Beitragsarchiv 1 09.09.2009 21:47
eine Datei per include einfügen, aber an verschiedenen Stellen ausgeben InsaneSimon PHP Tipps 2008 11 24.09.2008 21:15
Problem mit Einfügen von Formatierungszecihen per JavaScript max-dhom HTML, Usability und Barrierefreiheit 2 09.10.2007 23:21
auto_increment + einfügen Problem Chrisber Datenbanken 2 07.01.2007 01:11
anpassen von tabellen me HTML, Usability und Barrierefreiheit 0 24.01.2006 13:32
[Erledigt] Wert einfügen HTML, Usability und Barrierefreiheit 0 17.05.2005 22:53
String an bestimmter Stelle einfügen PHP Tipps 2005 1 14.01.2005 11:38
[Erledigt] Liste in Textarea einfügen HTML, Usability und Barrierefreiheit 0 03.01.2005 19:16
array_push nur in begrenzter Anzahl ausführen ? PHP Tipps 2004 2 07.09.2004 09:05
noch ein category einfügen... PHP Tipps 2004 7 02.08.2004 10:15
Wert eines Feldes abfragen und subtrahieren Datenbanken 4 04.07.2004 14:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
msn

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:02 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