Seite 1 von 1

error in posting / SQL Error, duplicate entry

Verfasst: 09.06.2003 11:42
von M@ster
Moin,
ich habe ein Problem :(
Das Thema wurde zwar schon im Forum behandelt, aber für mich habe ich keine Lösung gefunden.

Wenn ich einen neuen Beitrag (oder eine Antwort) erstellen möchte, bekomme ich immer die Meldung "Das gewählte ... extitiert nicht".
Hier ist eine DEBUG Meldung die direkt nach dem Posten kommt:

Code: Alles auswählen

Error in posting

DEBUG MODE

SQL Error : 1062 Duplicate entry '0' for key 1

INSERT INTO wb_forum_posts_text (post_id, post_subject, bbcode_uid, post_text) VALUES (0, 'test', 'aa1ede04fb', 'test')

Line : 279
File : /.../htdocs/forum/includes/functions_post.php
Meine Vermutung ist, dass der autoincrement für post_id nicht mehr funktioniert. Hier ist ein Dump der betreffenden Tabelle:

Code: Alles auswählen

#
# TABLE: wb_forum_posts_text
#
DROP TABLE IF EXISTS wb_forum_posts_text;
CREATE TABLE wb_forum_posts_text(
	post_id mediumint(8) unsigned NOT NULL,
	bbcode_uid varchar(10) NOT NULL,
	post_subject varchar(60),
	post_text text,
	PRIMARY KEY (post_id)
);

#
# Table Data for wb_forum_posts_text
#

INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('11', 'eb5c1a2885', 'Avatar / Benutzerbild', '?');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('10', '582a38e6d5', 'Ein Forum für ??', '?!');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('9', '34a0c12e5e', 'neue Benutzer - wie anmelden?', 'H?');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('12', '11be6dda35', 'neue ?L', '...');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('13', '939a37e1ca', 'Struktur des Forums', '...');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('14', 'ce4de43ef5', 'Layout', '...');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('15', 'e46382b202', 'Test-Feedback', '...');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('16', '0d84136b80', '', '...');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('17', '632b0822a7', '', '?');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('0', 'd6594e235c', '', 'HI!...');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('18', 'edad1e132e', 'test', 'test');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('20', '28e8f2f13e', 'test', 'test');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('22', 'fd2e6503cb', 'test', 'test');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('24', '749499c2e1', 'test', 'test');
INSERT INTO wb_forum_posts_text (post_id, bbcode_uid, post_subject, post_text) VALUES('26', '4b674391a0', 'test2', 'test2');
wenn ich für die spalte post_id ein autoincrement eintrage und das script ausführe, wo steht dann der zähler für post_id?
Könnte das helfen?

Binfür jede Hilfe dankbar!
René

Verfasst: 09.06.2003 12:34
von Chaze
Das Feld post_id in der Tabelle Prefix_posts sollte so aussehen.

Feld: post_id
Typ: mediumint(8)
Attribute: UNSIGNED
Null: Nein
Extra: auto_increment

Auto_increment erhöht die ID immer um 1.

Verfasst: 09.06.2003 12:38
von M@ster
So sieht es bei mir auch aus.
Ich habe noch weiter nachgeforscht:
Ein neuer Post erscheint korrekt in der _posts_text Tabelle. Allerdings wird kein Eintrag in der _posts Tabelle angelegt. Dadurch kann ich das Topic natürlich auch nicht eintragen :(

Verfasst: 09.06.2003 12:48
von Chaze
Laut Deinem ersten Posting ist das ID-Feld nicht auf Auto-Increment.

Verfasst: 09.06.2003 12:53
von M@ster
Jetzt geht es. Bei der deinstallation eines Mods habe ich eine Zeile nicht wieder hergestellt :(

Code: Alles auswählen

$sql = ($mode != "editpost") ? "INSERT INTO " . POSTS_TABLE . " (topic_id, forum_id, poster_id, post_username, post_time, poster_ip, enable_bbcode, enable_html, enable_smilies, enable_sig) VALUES ($topic_id, $forum_id, " . $userdata['user_id'] . ", '$post_username', $current_time, '$user_ip', $bbcode_on, $html_on, $smilies_on, $attach_sig)" : "UPDATE " . POSTS_TABLE . " SET post_username = '$post_username', enable_bbcode = $bbcode_on, enable_html = $html_on, enable_smilies = $smilies_on, enable_sig = $attach_sig" . $edited_sql . " WHERE post_id = $post_id";
*doh*

Verfasst: 09.06.2003 12:55
von M@ster
Chaze hat geschrieben:Laut Deinem ersten Posting ist das ID-Feld nicht auf Auto-Increment.
Stimmt. Komisch :-?
Eben hatte ich noch mal nachgesehen, und es war genau so wie du gemeint hast. Merkwürdig...

Egal. Jetzt läuft ja wieder alles! Man sollte eben nicht zu viel rumpfuschen :D 8)

Verfasst: 17.09.2003 09:36
von Gast
Habe das selbe Problem :
DEBUG MODE

SQL Error : 1062 Duplicate entry '7563' for key 1

INSERT INTO phpbb_posts_text (post_id, post_subject, bbcode_uid, post_text) VALUES (7563, 'test222', 'cb7ea5ca0e', 'test222')

Line : 282
File : /home/www/htdocs/z1000forum.de/phpplus/includes/functions_post.php
bei mir steht auto_increment bei Extra !

Bräuchte Hilfe

Verfasst: 17.09.2003 10:04
von Mungo

Verfasst: 17.09.2003 14:17
von Schumi
Und deshalb ist jetzt hier Schluß :wink: