Jak dodać nową kolumnę do tabeli MYSQL?
Próbuję dodać nową kolumnę do mojej tabeli MYSQL za pomocą PHP. Nie jestem pewien, jak zmienić moją tabelę, aby powstała nowa kolumna. W mojej tabeli ocen Mam:
assessmentid | q1 | q2 | q3 | q4 | q5
Powiedzmy, że mam stronę z textboxem i wpisuję q6
do textboxa i wciskam przycisk, a tabela zostanie zaktualizowana do:
assessmentid | q1 | q2 | q3 | q4 | q5 | q6
Mój kod:
<?php
mysql_query("ALTER TABLE `assessment` ADD newq INT(1) NOT NULL AFTER `q10`");
?>
<form method="post" action="">
<input type="text" name="newq" size="20">
<input type="submit" name="submit" value="Submit">
8 answers
Twoja tabela:
q1 | q2 | q3 | q4 | q5
Możesz również zrobić
ALTER TABLE yourtable ADD q6 VARCHAR( 255 ) after q5
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-24 17:02:25
$table = 'your table name';
$column = 'q6'
$add = mysql_query("ALTER TABLE $table ADD $column VARCHAR( 255 ) NOT NULL");
Możesz zmienić VARCHAR( 255 ) NOT NULL
na to, co kiedykolwiek zechcesz datatype
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-19 21:24:51
-
Możesz dodać nową kolumnę na końcu tabeli
ALTER TABLE assessment ADD q6 VARCHAR( 255 )
-
Dodaj kolumnę do początku tabeli
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) FIRST
-
Dodaj kolumnę obok określonej kolumny
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5
I więcej opcji tutaj
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-06 06:49:56
Coś w stylu:
$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";
}
Nie testowałem tego, ale powinno zadziałać.Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-19 21:25:19
Na podstawie Twojego komentarza wygląda na to, że dodajesz nową kolumnę tylko wtedy, gdy: mysql_query("SELECT * FROM assessment");
zwraca false. Pewnie nie tego chciałaś. Spróbuj usunąć'!'na początku $sql w pierwszej instrukcji 'if'. Więc Twój kod będzie wyglądał następująco:
$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...
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-19 21:26:29
Powinieneś zajrzeć do normalizacji bazy danych, aby uniknąć tworzenia kolumn w czasie wykonywania.
Zrób 3 tabele:
- Ocena
- pytanie
- assessment_question (kolumny assessmentId, questionId)
Umieść pytania i oceny w odpowiednich tabelach i połącz je ze sobą za pomocą assessment_question za pomocą kluczy obcych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-13 16:16:35
Dla WordPressa:
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"
);}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-07-20 16:00:02
ALTER TABLE `stor` ADD `buy_price` INT(20) NOT NULL ;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-11 17:36:59