Como adicionar uma nova coluna à tabela MYSQL

Estou tentando adicionar uma nova coluna à minha tabela MYSQL usando o PHP. Não tenho certeza de como alterar minha tabela para que a nova coluna seja criada. Na minha tabela de avaliação, eu tenho

assessmentid | q1 | q2 | q3 | q4 | q5 

Digamos que eu tenho uma página com uma checkbox de texto e digite q6 na checkbox de texto e pressione um botão, então a tabela é atualizada para

 assessmentid | q1 | q2 | q3 | q4 | q5 | q6 

desde já, obrigado

   

Input Career Name

Career Name

sua mesa:

 q1 | q2 | q3 | q4 | q5 

você também pode fazer

 ALTER TABLE yourtable ADD q6 VARCHAR( 255 ) after q5 
  $table = 'your table name'; $column = 'q6' $add = mysql_query("ALTER TABLE $table ADD $column VARCHAR( 255 ) NOT NULL"); 

você pode alterar o VARCHAR( 255 ) NOT NULL em qualquer datatype você deseja.

  • Você pode adicionar uma nova coluna no final da sua tabela

    ALTER TABLE assessment ADD q6 VARCHAR( 255 )

  • Adicionar coluna ao início da mesa

    ALTER TABLE assessment ADD q6 VARCHAR( 255 ) FIRST

  • Adicionar coluna ao lado de uma coluna especificada

    ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5

e mais opções aqui

Algo como:

 $db = mysqli_connect("localhost", "user", "password", "database"); $name = $db->mysqli_real_escape_string($name); $query = 'ALTER TABLE assesment ADD ' . $name . ' TINYINT NOT NULL DEFAULT \'0\''; if($db->query($query)) { echo "It worked"; } 

Não o testei, mas deveria funcionar.

Com base no seu comentário, parece que você apenas adiciona a nova coluna se: mysql_query("SELECT * FROM assessment"); retorna falso. Provavelmente não é o que você queria. Tente remover o ‘!’ na frente de $ sql na primeira declaração ‘if’. Então seu código parecerá:

 $sql=mysql_query("SELECT * FROM assessment"); if ($sql) { mysql_query("ALTER TABLE assessment ADD q6 INT(1) NOT NULL AFTER q5"); echo 'Q6 created'; }else... 

Você deve procurar a normalização do database para evitar a criação de colunas em tempo de execução.

Faça 3 tabelas:

  1. avaliação
  2. questão
  3. assessment_question (column assessmentId, questionId)

Coloque perguntas e avaliações em suas respectivas tabelas e ligue-as através de assessment_question usando foreign keys.

para WORDPRESS:

 global $wpdb; $your_table = $wpdb->prefix. 'My_Table_Name'; $your_column = 'My_Column_Name'; if (!in_array($your_column, $wpdb->get_col( "DESC " . $your_table, 0 ) )){ $result= $wpdb->query( "ALTER TABLE $your_table ADD $your_column VARCHAR(100) CHARACTER SET utf8 NOT NULL " //you can add positioning phraze: "AFTER My_another_column" );} 
Intereting Posts