我有一个表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
有什么想法吗?
答案 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\'');
点击此处:
更新:
尝试使用双引号而不是单引号:
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