1048: Column 'old id' cannot be null (localhost)

Aus Wiki.csoft.at

Inhaltsverzeichnis

Software

  • MediaWiki: 1.6.5
  • PHP: 4.3.9 (apache2handler)
  • MySQL: 4.1.20

Fehlermeldung

Fehler in der Datenbank
Es gab einen Syntaxfehler in der Datenbankabfrage. Die letzte Datenbankabfrage lautete:

   (SQL query hidden)

aus der Funktion "Revision::insertOn". MySQL meldete den Fehler "1048: Column 'old_id' cannot be null (localhost)".

Lösung

Manche Feldeigenschaften wurden nicht richtig übernommen. Daher sind folgende Eigenschaften manuell zu setzen:

TABELLE          FELDNAME = EIGENSCHAFT

categorylinks    cl_timestamp    Null=Ja
ipblocks         ipb_id        = auto_increment
job              job_id        = auto_increment
page             page_id       = auto_increment
recentchanges    rc_id         = auto_increment
revision         rev_id        = auto_increment
text             old_id        = auto_increment
trackbacks       tb_id         = auto_increment
user             user_id       = auto_increment

Shellscript für Mediawiki 1.6.8

ALTER TABLE `wiki_categorylinks` CHANGE `cl_timestamp` `cl_timestamp` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;
ALTER TABLE `wiki_ipblocks` CHANGE `ipb_id` `ipb_id` INT( 8 ) NOT NULL AUTO_INCREMENT;
ALTER TABLE `wiki_job` CHANGE `job_id` `job_id` INT( 9 ) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `wiki_page` CHANGE `page_id` `page_id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `wiki_recentchanges` CHANGE `rc_id` `rc_id` INT( 8 ) NOT NULL AUTO_INCREMENT;
ALTER TABLE `wiki_revision` CHANGE `rev_id` `rev_id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `wiki_text` CHANGE `old_id` `old_id` INT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `wiki_trackbacks` CHANGE `tb_id` `tb_id` INT( 11 ) NOT NULL AUTO_INCREMENT;
ALTER TABLE `wiki_user` CHANGE `user_id` `user_id` INT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT;