【问题标题】:Insert query in mysql with an auto_increment field使用 auto_increment 字段在 mysql 中插入查询
【发布时间】:2011-04-08 06:15:42
【问题描述】:

好的,

我确定我在这里做错了什么,但我一生都无法弄清楚。

这是我的桌子

CREATE TABLE `email_queue` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `from` varchar(256) DEFAULT NULL,
  `to` varchar(4182) DEFAULT NULL,
  `cc` varchar(4182) DEFAULT NULL,
  `subject` varchar(4182) DEFAULT NULL,
  `body` varchar(4182) DEFAULT NULL,
  `status` varchar(64) DEFAULT NULL,
  `attempts` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) 

当我做一个

insert into email_queue values (1,'','','','','','',0);

它工作正常并插入空白值

但是当我尝试使用

插入部分值时
insert into email_queue(to) values('sample_to_name');

说错了 ERROR 1064 (42000):您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便在 'to) v 附近使用正确的语法 alues('sample_to_name')' 在第 1 行

我做错了什么?

【问题讨论】:

    标签: mysql insert auto-increment insertion


    【解决方案1】:

    to 是 mysql reserved 单词应该是反引号。

    要么避免使用保留字创建列名,要么用反引号将它们括起来 ``

    insert into email_queue(`to`) values('sample_to_name');
    

    【讨论】:

    • 这对我有用。谢谢!
    【解决方案2】:

    你需要反引号

    insert into email_queue(`to`) values('sample_to_name');
    

    【讨论】:

      【解决方案3】:

      问题是因为

         to is mysql reserved word
      

      【讨论】:

        猜你喜欢
        • 2017-07-22
        • 1970-01-01
        • 1970-01-01
        • 2014-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-23
        • 1970-01-01
        相关资源
        最近更新 更多