• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

ALTER mit Datentyp varchar

Mad Dog

Mitglied
Hallo

habe da ein kleines Problem.
Wenn ich folgendes SQL statement ausführe klappt alles wie es soll:
ALTER TABLE advanced_profil ADD asd int(21) UNSIGNED DEFAULT NULL
die Tabelle advanced_profil wird um eine neue spalte asd erweitert.

wenn ich jetzt das ganze mit varchar probiere, klappt es nicht:

ALTER TABLE advanced_profil ADD asd varchar(21) UNSIGNED DEFAULT NULL

das ganze führe ich mit dieser Funktion aus, die POST daten erhalte ich aus einem Formular.
Funktion:
Code:
        public function addRow() {
          $_POST['alter-length'] = (int) $_POST['alter-length'];
          $sql = "ALTER TABLE advanced_profil ADD ".$_POST['alter-name']." ".$_POST['alter-charset']."(".$_POST['alter-length'].") UNSIGNED DEFAULT NULL";
          
          self::$_SQL = $sql;
          if ($result = self::$_DB->query($sql)) {
            return $result;
          }
        }

Formular:
Code:
        <form action="" method="post">
      Name: <input name="alter-name" type="text" /><br />
      CharSet: <select name="alter-charset">
            <option value="int">Integer</option>
            <option selected value="varchar">Varchar</option>
          </select><br />
      Length: <input name="alter-length" type="text" /><br />
      Confirm: <input type="checkbox" name="alter-confirm" value="alter-confirm"><br />
      Required: <input type="checkbox" name="alter-required" value="alter-required"><br />
          <input name="alter-submit" type="submit"/>
        </form>

könnt ihr mir helfen?
steh gerade irgendwie aufm schlauch...

mfg
Mad Dog
 
Werbung:
bin erst jetzt dazu gekommen es auszuprobieren.
und ja UNSIGNED war das problem ;)
vielen dank.

wie ich erfahren habe, wird UNSIGNED bei Zahlen benutzt (integer, float etc), wenn man keine negativen Zahlen erwartet bzw akzeptiert/will?
 
Werbung:
Zurück
Oben