MySQL Update查询中“字段列表”错误中的未知列

时间:2011-01-09 19:23:37

标签: php mysql sql mysql-error-1054

我回应了下面的查询:(查询是安全的)

UPDATE otelozellik 
   SET isim_tr='test', 
       aciklama_tr='<p>test1</p>', 
       uyari_tr='test', 
       tag_tr='test' 
 WHERE id='1'
  

数据库错误:未知列   '字段列表'中的'aciklama_tr'

我改变了列的顺序,isim_tr之后的列不断给出错误。当我将isim_tr移到最后一个,然后id之后给出相同的错误。但是将它们移动到最后位置对我来说不是一个解决方案,因为在必要时,表将是动态的,以添加新列。需要一个绝对的解决方案。

更新:最新的屏幕截图:http://img5.imageshack.us/img5/7215/mysqlerror.jpg

解决。解决方案如下。谢谢大家。

4 个答案:

答案 0 :(得分:1)

问题解决了。非常感谢大家的帮助。

解决方案的正确查询是:

UPDATE `holidaycholic`.`otelbilgi` SET `otelbilgi`.`isim_tr`='test2', `otelbilgi`.`aciklama_tr`='<p>test2</p>', `otelbilgi`.`uyari_tr`='test2', `otelbilgi`.`tag_tr`='test2' WHERE `otelbilgi`.`id`=1

不知道为什么但这对我有用。

答案 1 :(得分:0)

当您尝试将数据加载到不存在的字段时,会导致

'字段列表'错误。仔细检查您是否拼写了正确的字段名称。

您的帖子说您需要添加“动态列”。一个结构合理的数据库不应该需要这种东西。但是,如果您确实要从php添加列,则需要在尝试在这些字段中插入数据之前将它们添加到表中。您可以使用ALTER TABLE语句执行此操作:
ALTER TABLE table_name ADD column_name datatype

答案 2 :(得分:0)

只是要仔细检查您使用标准ASCII字符的所有字符,或者您使用的是不常见的字符集?

尝试使用phpMyAdmin或类似方法将数据插入表中 - 如果可行,请复制它生成的代码并使用mysql客户端自行运行。

假设仍然有效,请将生成的代码与PHP生成的SQL进行比较

答案 3 :(得分:0)

以下是适用于我的语法:

 "INSERT INTO table(`code`, `description`) VALUES ('".mysql_real_escape_string($code)."', '".mysql_real_escape_string($description)."')";

“table”是一个带有AUTO_INCREMENT索引的表。