2013-07-12 3 views
0

Чтобы обеспечить некоторую форму ссылочной целостности в Myisam (Mysql), я пытаюсь выполнять обновления и вставлять с помощью подзапросов. Например, для обновления я использую это:Добавить несколько условных операторов в запрос вставки

update tbl_a 
set col_a='test' 
where ID=22 and '2' IN (SELECT ID FROM tbl_b) and '33' IN (SELECT ID FROM tbl_c) 

Однако тот же принцип для вставок не работает; он попробовал что-то вроде этого:

insert into tbl_a 
(
a, 
b, 
c 
) 
values 
(
    now(), 
    select ID from tbl_b where ID=2, 
    select ID from tbl_c where ID=23 
) 

Любая идея как указать (несколько) условий во время вставки?

благодаря Патрик

+0

@Strawberry Что случилось с этим синтаксисом? Кажется, все в порядке. –

ответ

1

Рассмотрим этот подход:

insert into tbl_a (a, b, c) 
select now(), b.id, c.id from tbl_b b, tbl_c c where b.id=2 and c.id=23 
+0

INSERT ... SELECT - это, вероятно, путь. http://dev.mysql.com/doc/refman/5.1/en/insert-select.html –

+0

спасибо; это сработало! :-) – user2022678

+0

@ user2022678 Если это сработало, примите этот ответ, нажав «галочку» слева. – Vesper

Смежные вопросы