如何向MYSQL表添加新列

Ste*_*nor 92 php mysql add alter

我正在尝试使用PHP向我的MYSQL表添加一个新列.我不确定如何更改我的表以便创建新列.在我的评估表中,我有

assessmentid | q1 | q2 | q3 | q4 | q5 
Run Code Online (Sandbox Code Playgroud)

假设我有一个带文本框的页面,我在文本框中键入q6并按下按钮,然后表格更新为

assessmentid | q1 | q2 | q3 | q4 | q5 | q6
Run Code Online (Sandbox Code Playgroud)

提前致谢

<?php 
include 'core/init.php';
include 'core/admininit.php';
include 'includes/overall/overall_header.php'; 
adminprotect_page();
include 'includes/adminmenu.php'; 
?>      
<?php

mysql_query("ALTER TABLE `assessment` ADD newq INT(1) NOT NULL AFTER `q10`");

?>
<h1>Input Career Name</h1>

    <form method="post" action="">

      Career Name
      <input type="text" name="newq" size="20">

     <input type="submit"
      name="submit" value="Submit">

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Dim*_*ima 225

你的桌子:

q1 | q2 | q3 | q4 | q5
Run Code Online (Sandbox Code Playgroud)

你也可以

ALTER TABLE yourtable ADD q6 VARCHAR( 255 ) after q5
Run Code Online (Sandbox Code Playgroud)

  • @StevenTrainor:请不要**在SQL语句中使用文本框中的字符串.您必须确保将其转义以避免SQL注入漏洞. (9认同)
  • 谢谢,它使用 - mysql_query("ALTER TABLE`评估`添加`q6` INT(1)NOT NULL在'q5`之后"); (2认同)
  • 在2015年,人们仍在尝试设置自己的SQL注入漏洞—:facepalm: (2认同)

Abd*_*lma 7

 $table  = 'your table name';
 $column = 'q6'
 $add = mysql_query("ALTER TABLE $table ADD $column VARCHAR( 255 ) NOT NULL");
Run Code Online (Sandbox Code Playgroud)

你可以改变VARCHAR( 255 ) NOT NULL成什么过datatype你想要的.


ama*_*ath 6

  • 您可以在表格的末尾添加新列

    ALTER TABLE assessment ADD q6 VARCHAR( 255 )

  • 将列添加到表的开头

    ALTER TABLE assessment ADD q6 VARCHAR( 255 ) FIRST

  • 添加指定列旁边的列

    ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5

和更多的选择在这里