Alter Table添加主键时PHP返回错误

时间:2016-07-12 20:18:39

标签: php mysql primary-key mariadb

10.1.15-MariaDB,PHP 5.4

使用的代码:

   $table = 'abc';
   mysql_query("ALTER TABLE `$table` ADD PRIMARY KEY (`col`)");

错误:

  

您的SQL语法有错误;检查手册   对应于您的MariaDB服务器版本,以获得正确的语法   靠近\' ALTER TABLE ...

我尝试过KEY`PRIMARY`并删除所有反引号无效。

  

更新:   它与扩展无关,使用mysqli_相同的错误进行测试。但是,在不同的服务器环境中使用相同的脚本重复测试是可以的。

3 个答案:

答案 0 :(得分:0)

我试过这段代码,它对我有用

$table = 'abc';

$query="ALTER TABLE `".$table."` ADD PRIMARY KEY(`col`);";

/* Execute query */
$result=$mysqli->query($query);
/* Verify results */
if(!$result) {
  $ErrMessage  =  "Error : " $mysqli->error . "\n";
  $mysqli->close();
  die($ErrMessage);        
}

您是否有权修改表格?

答案 1 :(得分:0)

这里是与mysqli的快速连接

$mysqli =  new mysqli($db_host, $db_user, $db_pass,$database); 

if (mysqli_connect_errno()) {
  printf("Connect failed: %s\n", mysqli_connect_error());
  die ("<h1>can't use database !</h1>");
exit();
 }
/* change character set to utf8 */
if (!$mysqli->set_charset("utf8")) {
printf("error loding 'character set utf8' : %s\n", $mysqli->error);
} 

答案 2 :(得分:0)

首先,谢谢大家的帮助。在将脚本复制并粘贴到显示大量错误描述的其他服务器环境后,我得到了答案。

  

在'\ xef \ xbb \ xbfALTER表附近使用的正确语法abc添加主键

魔鬼是 \ xef \ xbb \ xb

这是因为我必须处理多种语言。不过,我确实希望给我一些关于如何在将来避免这种愚蠢错误的建议。