SorgenkindMech: [MySQL] MyISAM -> NDB

Beitrag lesen

huhu liebes forum! (und natürlich auch hallo an alle nutzer ;) )

ich bin gerade dabei eine vorhandene mysql-db in einen mysql-cluster zu migrieren
bisher lief eigendlich auch alles ganz gut, ich ändere tabelle für tabelle die engine
nun stoße ich aber auf eine tabelle, die strikt etwas dagegen haben zu scheint

vorab: ich weiß die tabelle hat keinen primärschlüssel, der kommt noch, aber grundlegend erstmal:

hier mal die tabelle um die es geht:

CREATE TABLE einstellungen (
  timestamp timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  id int(11) NOT NULL DEFAULT '1',
  profilname varchar(20) NOT NULL DEFAULT '',
  profilfarbe varchar(20) NOT NULL DEFAULT '',
  firma varchar(50) DEFAULT NULL,
  strasse varchar(30) DEFAULT NULL,
  ort varchar(20) DEFAULT NULL,
  plz varchar(10) DEFAULT NULL,
  anschrift varchar(50) NOT NULL DEFAULT '',
  logo varchar(50) DEFAULT NULL,
  logo2 varchar(50) NOT NULL DEFAULT '',
  fusszeile varchar(50) DEFAULT NULL,
  ustidentnr varchar(20) DEFAULT NULL,
  steuernr varchar(20) DEFAULT NULL,
  bank varchar(20) DEFAULT NULL,
  ktn varchar(10) DEFAULT NULL,
  blz varchar(10) DEFAULT NULL,
  iban varchar(255) NOT NULL DEFAULT '',
  bic varchar(50) NOT NULL DEFAULT '',
  tel varchar(20) DEFAULT NULL,
  fax varchar(20) DEFAULT NULL,
  www varchar(100) NOT NULL DEFAULT '',
  mail varchar(50) NOT NULL DEFAULT '',
  mwstnorm varchar(5) DEFAULT NULL,
  mwsterm varchar(5) DEFAULT NULL,
  warnstufeh char(3) DEFAULT NULL,
  warnstufen char(3) DEFAULT NULL,
  warnstufel char(3) DEFAULT NULL,
  low1 varchar(5) NOT NULL DEFAULT '',
  low2 varchar(5) NOT NULL DEFAULT '',
  low3 varchar(5) NOT NULL DEFAULT '',
  low4 varchar(5) NOT NULL DEFAULT '',
  low5 varchar(5) NOT NULL DEFAULT '',
  low6 varchar(5) NOT NULL DEFAULT '',
  high1 varchar(5) NOT NULL DEFAULT '',
  high2 varchar(5) NOT NULL DEFAULT '',
  high3 varchar(5) NOT NULL DEFAULT '',
  high4 varchar(5) NOT NULL DEFAULT '',
  high5 varchar(5) NOT NULL DEFAULT '',
  high6 varchar(5) NOT NULL DEFAULT '',
  rabatt1 varchar(5) NOT NULL DEFAULT '',
  rabatt2 varchar(5) NOT NULL DEFAULT '',
  rabatt3 varchar(5) NOT NULL DEFAULT '',
  rabatt4 varchar(5) NOT NULL DEFAULT '',
  rabatt5 varchar(5) NOT NULL DEFAULT '',
  rabatt6 varchar(5) NOT NULL DEFAULT '',
  rabatt7 varchar(5) NOT NULL DEFAULT '',
  mingewinn1 double NOT NULL DEFAULT '0',
  mingewinn2 double NOT NULL DEFAULT '0',
  mingewinn3 double NOT NULL DEFAULT '0',
  mingewinn4 double NOT NULL DEFAULT '0',
  mingewinn5 double NOT NULL DEFAULT '0',
  mingewinn6 double NOT NULL DEFAULT '0',
  mingewinn7 double NOT NULL DEFAULT '0',
  anreden varchar(255) NOT NULL DEFAULT '',
  titel varchar(255) NOT NULL DEFAULT '',
  standard char(1) NOT NULL DEFAULT '',
  schrittk int(11) NOT NULL DEFAULT '7',
  zarten longtext NOT NULL,
  rabatth varchar(5) NOT NULL DEFAULT '',
  rabattgh varchar(5) NOT NULL DEFAULT '',
  schritta int(11) NOT NULL DEFAULT '0',
  rechzus longtext NOT NULL,
  werbetexte longtext NOT NULL,
  ve text NOT NULL,
  vh text NOT NULL,
  schrittm int(11) NOT NULL DEFAULT '0',
  schrittt int(11) NOT NULL DEFAULT '0',
  iknr varchar(10) NOT NULL DEFAULT '',
  inventurlistenkopfzeile varchar(255) NOT NULL DEFAULT '',
  mahnkosten1 decimal(10,2) NOT NULL DEFAULT '0.00',
  mahnkosten2 decimal(10,2) NOT NULL DEFAULT '0.00',
  mahnkosten3 decimal(10,2) NOT NULL DEFAULT '0.00',
  mahntext1 longtext NOT NULL,
  mahntext2 longtext NOT NULL,
  mahntext3 longtext NOT NULL,
  betrefftexte longtext NOT NULL,
  kassebetreff longtext NOT NULL,
  ddbzw int(11) NOT NULL DEFAULT '0',
  artkat text NOT NULL,
  werbb text NOT NULL,
  kombimodusak1 char(1) NOT NULL DEFAULT '0',
  kombimodusak2 char(1) NOT NULL DEFAULT '0',
  labeldatei tinytext NOT NULL,
  labelstat varchar(20) NOT NULL DEFAULT '0',
  kundentimestamp timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  uptime bigint(20) NOT NULL DEFAULT '0',
  unterbrechungen text NOT NULL,
  pausen text NOT NULL,
  lastfix int(11) NOT NULL DEFAULT '0',
  eigliefkennung text NOT NULL,
  allgaw decimal(3,2) NOT NULL DEFAULT '0.00',
  kundekat longtext NOT NULL,
  labeldrucker longtext NOT NULL,
  vdaknr tinytext NOT NULL,
  datei\_upload text NOT NULL,
  art\_gaenge text NOT NULL,
  art\_ausstattung text NOT NULL,
  art\_akkus text NOT NULL,
  dfueverbindung tinytext NOT NULL,
  supportaktiv tinyint(4) NOT NULL DEFAULT '0',
  artikelkeinabwesend text NOT NULL,
  kopftextverwenden int(11) NOT NULL DEFAULT '1',
  zahlungsbedingungen text NOT NULL,
  bondrucker tinytext,
  quickkunde int(11) DEFAULT NULL,
  quickr\_kopftext text NOT NULL,
  quickr\_betreff tinytext NOT NULL,
  quickr\_zusatzkosten tinytext NOT NULL,
  quickr\_zahlungsbedingungen tinytext NOT NULL,
  quickr\_vonwo text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

wenn ich versuche sie umzustellen bekomme ich:

Error Code : 1005
Can't create table 'rt.#sql-175c_f' (errno: 140)

ich habe mittlerweile alle logntext-felder auf text gestellt, was aber nichts hilft

wenn ich eine gewisse anzahl an feldern heraus nehme funktioniert es
daher nehme ich an, dass es was mit der maximalen theoretischen größe eines datensatzes zu tun hat ... aber ich steig noch nicht wirklich dahinter, het jemand von euch damit erfahrung?

wäre suuuuper ;)

vielen dank schonmal im voraus!