无法使用mysql插入查询插入文本

时间:2013-02-20 06:42:46

标签: mysql insert

我有一个表temp_inventory_cust,包含字段customer_id [int(11)]和first_name [varchar(50)],以及其他字段。我试图通过在phyMyAdmin中键入它来运行此查询,只是为了确保它在php中编码之前有效:

insert into temp_inventory_cust (`customer_id`,`first_name`) values (34,'fred');
  

它给了我:#1064 - 你的SQL语法有错误;检查   手册,对应右边的MySQL服务器版本   在第1行'\'fred \')'附近使用的语法。

我没有看到问题而且我发疯了。

此查询运行正常:

insert into temp_inventory_cust (`customer_id`,`department_id`) values (34,2); 

(在这种情况下,这两个字段都是int字段。

表格结构

cust_id              int(11)     No 
first_name           varchar(50) No
last_name            varchar(50) No 
email_address        varchar(100)No 
phone_number         varchar(25) No 
department_id        int(11)     No 
position_id          int(11)     No 
end_date             date        No 
t_stamp              datetime    No 

有什么想法吗?

4 个答案:

答案 0 :(得分:2)

语法看起来很好。

我在Fiddle中尝试了查询,并且架构已成功构建。

以下是我使用的代码:

CREATE TABLE temp_inventory_cust(
customer_id int(11),
first_name varchar(50)
);

INSERT INTO temp_inventory_cust (customer_id,first_name) VALUES (1,'Ankit');

如果要包含引号,请在使用引号之前使用转义序列(),如

INSERT INTO temp_inventory_cust (customer_id,first_name) VALUES (1,'\'Ankit\'');

点击此处:

SqlFiddle

更新:

尝试使用双引号而不是单引号:

  INSERT INTO temp_inventory_cust (customer_id,first_name) VALUES (1,"Ankit");

答案 1 :(得分:0)

如果你可以分享你的表格结构会更好但我的拳头一眼就说'问题必须是表名字段字体',它不接受字符串。在数据库中交叉检查您的归档类型。

答案 2 :(得分:0)

如果你这个查询直接在phpmyadmin数据库中那么没问题

但 如果你使用PHP代码,那么你必须删除“'”,查询是:

 insert into temp_inventory_cust (customer_id,department_id) values (34,2);

答案 3 :(得分:0)

根据您的错误,您希望在字符串中添加'以转义',您需要添加\'

MySQL server version for the right syntax to use near '\'fred\')' at line 1.

将查询更改为

 insert into temp_inventory_cust (`customer_id`,`first_name`) values (34,'\'fred\''); 

它还会在数据库中添加引号,因此记录将为'fred'

如果您不想添加引号,请使用

insert into temp_inventory_cust (`customer_id`,`first_name`) values (34,'fred'); 

参考http://dev.mysql.com/doc/refman/5.0/en/string-literals.html