我只是试图插入两个变量到表中创建两个新列。我可以得到一个插入正确的变量并创建一个新的列,但努力争取第二个正确的语法。这目前的作品:改变表SQL PHP
mysqli_query($link,"ALTER TABLE importantdetails.extracols ADD `" . $newCol1 . "` VARCHAR(100)");
但是我不能得到$newCol2
插入。我试过了我能想到的一切。
任何想法?
感谢
我只是试图插入两个变量到表中创建两个新列。我可以得到一个插入正确的变量并创建一个新的列,但努力争取第二个正确的语法。这目前的作品:改变表SQL PHP
mysqli_query($link,"ALTER TABLE importantdetails.extracols ADD `" . $newCol1 . "` VARCHAR(100)");
但是我不能得到$newCol2
插入。我试过了我能想到的一切。
任何想法?
感谢
,如果你有$link
无需添加数据库名称importantdetails
尝试
mysqli_query($link,"ALTER TABLE extracols ADD (".$newCol1." VARCHAR(100), ".$newCol2." VARCHAR(100))");
不幸工作!这正是我认为应该的。 – 2014-09-11 11:02:39
@MatthewWarburton检查现在更新了一些写作错过 – 2014-09-11 11:03:57
工作过一次,谢谢! – 2014-09-11 11:07:50
要将多列添加到现有表时,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));
嗨,谢谢是的,但这是我正在努力。我认为这应该工作:mysqli_query($ link,“ALTER TABLE extracols ADD(”。$ newCol1。“VARCHAR(100)),”。$ newCol2。“VARCHAR(100)”); – 2014-09-11 11:03:15
@MatthewWarburton尝试mysqli_query($ link,“ALTER TABLE extracols ADD(”。$ newCol1。“VARCHAR(100),”。$ newCol2。“VARCHAR(100))”); – 2014-09-11 11:05:09
确保$newCol2
不是MySQL reserved word,并且您正确设置其类型。如果它也是一个VARCHAR(100),我能想到的唯一问题是$newCol2
是一个保留字。
如果你想在一个ALTER命令添加多个列,你可以做这样的:
mysqli_query($link,"ALTER TABLE importantdetails.extracols ADD ('$col1' col1_def, '$col2' col2_def));
的语法应该是
mysqli_query($link,"ALTER TABLE importantdetails.extracols ADD ('".$newCol1."' VARCHAR(100), '".$newCol2."' VARCHAR(100))");
假设$ newCol2包含字符串名称你想要这个列的类型是varchar(100)
失踪a)结束 – 2014-09-11 11:05:37
@RakeshSharma ty,修正。 – daker 2014-09-11 11:07:02
'$ newCol2'持有什么? '$ newCol2'的MySQL语句的结构是什么? – 2014-09-11 10:28:20
而'$ newCol2'是?.... – Sal00m 2014-09-11 10:29:06
也许你的mysql用户没有ALTER权限 – 2014-09-11 10:37:43