如何在我的代码中添加(ALTER table_name)

时间:2015-10-28 18:01:26

标签: php jquery sql

是否可以在不编辑数据库的情况下添加新字段,但使用PHP代码或jquery在我的数据库中插入新字段,所以让我说我的表名为MAIN (COL1 ,COL2)在我的PHP代码/ jquery中将在我的数据库中插入新字段(COL 3)。有可能吗?

$result=("SELECT * FROM main");
$res = $conn->query($result);
if(isset($_POST['Add'])){
    if(empty($_POST['ParentCreate'])){
        echo "Fill up the textbox";
    }else{
        $sql = "ALTER TABLE tablemain ADD COLUMN
'".$_POST['ParentCreate']."' VARCHAR(100) NOT NULL COMMENT '' AFTER
main_one";
    $conn->query($sql);
    echo "New Field created";
}

}
-----------------------------------
<body>
<div id="frm_div">
    <form id="frm1" action="">
        <input type="text" name="ParentCreate" placeholder="ParentCreate" />
        <input type="submit" name="Add" value="Add" />
    </form>
</div>
<div id="result">
<?php
if($res!=""){
while($row=$res->fetch_row()){
    echo $row[0]."<br/>";
    echo $row[1]."<br/>";

}   
 }else{
    echo "Nothing Found";
 }
?>
</div>

1 个答案:

答案 0 :(得分:1)

首先看一下:W3 Schools | SQL ALTER

说明

您正在寻找的SQL代码:

ALTER TABLE table_name
ADD column_name datatype [AFTER previous_column_name]

[AFTER] - &gt;可选,最后默认。

在你的情况下(假设COL3的数据类型是VARCHAR):

ALTER TABLE MAIN
ADD COL3 VARCHAR(30) [AFTER previous_column_name]

如果你甚至不知道如何在PHP中使用mysqli看一下 PHP.net MySQLi Documentation (替代方案:php.net/manual/en/book.mysql.php)

但请注意! PHP将放弃对MySQL的支持,因此您最好使用MySQLi。

更新1 - 触发mysql查询

与主持人联系:

$conn = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) 
        or die("Failed to connect to Database: " . mysql_error());

选择数据库:

$db = mysql_select_db(DB_NAME, $conn) 
      or die("Failed to select Database: " . mysql_error());

定义您的查询:

$sql = "ALTER TABLE tablemain 
        ADD '".$_POST['ParentCreate']."' VARCHAR(100) NOT NULL AFTER main_one";

解雇您的查询:

mysql_query($sql) or die("Failed adding column: " . mysql_error());