繁体   English   中英

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

[英]How to add (ALTER table_name) in my code

是否可以在不编辑数据库但使用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>

首先看一下: W3学校| SQL更改

说明

您要查找的SQL代码:

ALTER TABLE table_name
ADD column_name datatype [AFTER previous_column_name]

[AFTER]->可选,默认为末尾。

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

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

如果您甚至都不知道如何在PHP中使用mysqli,请查看PHP.net MySQLi文档 (替代: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());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM