在mysql中插入带有auto_increment字段的查询

发布于 2024-10-30 20:05:48 字数 830 浏览 1 评论 0原文

好吧,

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

这是我的表格

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`)
) 

当我执行 a 时,

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

它工作正常并插入空白值,

但是当我尝试使用

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

它插入部分值时,会出现错误 ERROR 1064 (42000):您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便在 'to) v 附近使用正确的语法 第 1 行的 alues('sample_to_name')'

我做错了什么?

Ok,

I am sure I am doing something wrong here but I can't for the life of me figure it out.

Here is my table

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`)
) 

When I do a

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

it works fine and inserts the blank values

but when I try to insert partial values using

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

it errors out saying
ERROR 1064 (42000): 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 'to) v
alues('sample_to_name')' at line 1

What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

腹黑女流氓 2024-11-06 20:05:48

to 是 mysql 保留单词应该用反引号。

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

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

to is mysql reserved word should be in backticks.

Either avoid the creating column names with Reserved words or enclose them with backtick ``

insert into email_queue(`to`) values('sample_to_name');
北恋 2024-11-06 20:05:48

你需要反引号来

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

You need back-ticks around to

insert into email_queue(`to`) values('sample_to_name');
允世 2024-11-06 20:05:48

问题是因为

   to is mysql reserved word

problem is because

   to is mysql reserved word
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文