更改表SQL PHP

时间:2014-09-11 10:26:29

标签: php mysqli

我只想尝试将两个变量插入表中以创建两个新列。我可以得到一个变量插入正确并创建一个新列,但努力为第二个获得正确的语法。目前有效:

mysqli_query($link,"ALTER TABLE importantdetails.extracols ADD  `" . $newCol1 . "` VARCHAR(100)");

但是我无法插入$newCol2。我已经尝试了我能想到的一切。

有什么想法吗?

由于

4 个答案:

答案 0 :(得分:2)

要向现有表添加多个列,SQL ALTER TABLE语法为:

ALTER TABLE table_name
  ADD (column_1 column-definition,
    column_2 column-definition,
    ...
    column_n column_definition);

 Ex. ALTER TABLE supplier
    ADD (supplier_name varchar(50),
       city varchar(45));

答案 1 :(得分:1)

如果您$link无需添加数据库名称importantdetails,请尝试

mysqli_query($link,"ALTER TABLE extracols ADD (".$newCol1." VARCHAR(100),  ".$newCol2." VARCHAR(100))");

答案 2 :(得分:0)

确保$newCol2不是MySQL reserved word并且您正确设置了其类型。如果它也是VARCHAR(100),我能想到的唯一问题是$newCol2是一个保留字。

如果您尝试在一个ALTER命令中添加多个列,则可以这样做:

mysqli_query($link,"ALTER TABLE importantdetails.extracols ADD ('$col1' col1_def, '$col2' col2_def));

答案 3 :(得分:0)

语法应为

mysqli_query($link,"ALTER TABLE importantdetails.extracols ADD  ('".$newCol1."' VARCHAR(100),  '".$newCol2."' VARCHAR(100))");

假设$ newCol2包含新列的字符串名称,并且您希望此列的类型为varchar(100)