aurora mysql 5.7 插入失败
aurora mysql 5.7 insert into failing
似乎无法弄清楚这一点。我来自 SQL 服务器世界,但希望它也能正常工作。
insert into active_directory (ad_account,email,distinguished_name,employee_id,manager_distinguished_name,display_name,terminated)
select
ad_account,
email,
distinguished_name,
employee_id,
manager_distinguished_name,
display_name,
case when distinguished_name like '%Terminations%' then 1 else 0 end as terminated
from
active_directory_staging
失败并出现此错误:
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 'terminated)
select
ad_account,
email,
distinguished_name,
employee_id,
mana' at line 1
如果我从 insert/select 查询中删除 terminated
列,它工作正常。加回来失败了。
如果我 运行 只是 select 部分(包含和不包含终止列的 case 语句)它工作正常。
我可能只是遗漏了一些基本的东西...感谢任何帮助。
active_directory
table 创建语句
CREATE TABLE `active_directory` (
`ad_account` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
`display_name` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
`email` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
`distinguished_name` varchar(200) COLLATE latin1_general_ci DEFAULT NULL,
`employee_id` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
`manager_distinguished_name` varchar(200) COLLATE latin1_general_ci DEFAULT NULL,
`terminated` bit(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
MySQL 有一堆不能用作列名/别名的保留字。
不幸的是,对于这个查询,terminated
就是这样一个词。
摘自https://dev.mysql.com/doc/refman/5.7/en/keywords.html:
- ...
- 临时
- 诱人
- 已终止(R)
- 文字
- 比
- ...
似乎无法弄清楚这一点。我来自 SQL 服务器世界,但希望它也能正常工作。
insert into active_directory (ad_account,email,distinguished_name,employee_id,manager_distinguished_name,display_name,terminated)
select
ad_account,
email,
distinguished_name,
employee_id,
manager_distinguished_name,
display_name,
case when distinguished_name like '%Terminations%' then 1 else 0 end as terminated
from
active_directory_staging
失败并出现此错误:
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 'terminated)
select
ad_account,
email,
distinguished_name,
employee_id,
mana' at line 1
如果我从 insert/select 查询中删除 terminated
列,它工作正常。加回来失败了。
如果我 运行 只是 select 部分(包含和不包含终止列的 case 语句)它工作正常。
我可能只是遗漏了一些基本的东西...感谢任何帮助。
active_directory
table 创建语句
CREATE TABLE `active_directory` (
`ad_account` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
`display_name` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
`email` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
`distinguished_name` varchar(200) COLLATE latin1_general_ci DEFAULT NULL,
`employee_id` varchar(100) COLLATE latin1_general_ci DEFAULT NULL,
`manager_distinguished_name` varchar(200) COLLATE latin1_general_ci DEFAULT NULL,
`terminated` bit(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
MySQL 有一堆不能用作列名/别名的保留字。
不幸的是,对于这个查询,terminated
就是这样一个词。
摘自https://dev.mysql.com/doc/refman/5.7/en/keywords.html:
- ...
- 临时
- 诱人
- 已终止(R)
- 文字
- 比
- ...