Не могу понять это.Я пришел из мира SQL Server, но ожидал, что это сработает так же.
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
, если я удалю столбец terminated
из вставки/ выберите запрос, он работает нормально.Добавьте его обратно, и он потерпит неудачу.
Если я запускаю только выделенную часть (как с оператором case, так и без него, для завершенного столбца), он работает нормально.
Возможно, я просто упускаю что-то базовоездесь ... любая помощь приветствуется.
active_directory
оператор создания таблицы
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;