名为change的列的奇怪的MySQL行为

时间:2013-11-23 17:16:06

标签: php mysql

我试图创建一个列名为“Change”的表。这是我使用的代码

$create=mysql_query("CREATE TABLE table_name (ID int NOT NULL AUTO_INCREMENT KEY,
Name TEXT ,Property TEXT ,Change TEXT ,Change_Percent TEXT ,Low_Look TEXT ,
High_Look TEXT ,Low_Proximity TEXT ,Time_Index TEXT ,carom TEXT ,qualification 
TEXT)");

// Execute query
if (mysql_query($con,$create))
  {
  echo "Table created successfully";
  }
else
  {
  echo "Error creating table: " . mysql_error($conn);
  }

这会给我以下错误

Warning: mysql_query() expects parameter 2 to be resource, boolean given in
C:\xampp\htdocs\stock\test.php on line 20
Error creating table: You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near
'Change TEXT ,Change_Percent TEXT ,Low_Look TEXT ,High_Look TEXT ,Low_Proximity TEXT '
at line 1

在尝试了几件事之后,我注意到从Change中取出“e”解决了这个问题。现在可能导致它的原因,是否有一种方法可以将列命名为“更改”?如果它是绝对必要的。

2 个答案:

答案 0 :(得分:1)

更改是保留字。您可以尝试更改为其他名称,或者至少将其包装在反引号中。

答案 1 :(得分:1)

change是mysql关键字,使用反引号(`)“更改”