2015-12-20 5 views
1

У меня есть запрос, как это:Как проверить значение в таблице или нет?

INSERT INTO votes (post_id, user_id, value, date_time) 
    SELECT ?,?,?,?,?,? 
    FROM $table_name t 
    WHERE {if t.id exists $id} limit 1 

Как я могу написать это {if t.title exists 'anythin'} в MySQL?


EDIT: На самом деле я хочу, чтобы проверить post является существует в Posts таблицы перед вставкой голос за этот пост.

+1

Не совсем понятно, что вы пытаетесь фильтровать ... если t.title существует вообще, t.title = «ничего» или «ничего» '- это какой-то параметр, введенный в ваш запрос? Можете ли вы объяснить в кратком параграфе? –

+0

Да, вы должны разместить более подробную информацию. Чего вы пытаетесь достичь? – etalon11

ответ

2

Если ваша цель - выбрать «где» данные, попробуйте WHERE t.title IS NOT NULL.

Если завершить условный оператор, который вставляет «ничего», если есть какие-либо данные, то попробуйте (if t.title is not null, 'anything', null)

+0

Спасибо .....! +1 – stack

1

Вы судимое

WHERE EXISTS (SELECT * FROM $Posts_table_name WHERE Id = 'YourPostId'); 

Edit: Вы писали: "На самом деле я чтобы проверить сообщение, существует в таблице «Должности», прежде чем вставлять голосование за этот пост. «

Лучший способ сделать это - установить post_id как внешний ключ, чтобы, если id не существует, запрос на вставку не будет иметь эффектов

+0

Спасибо ....! +1 – stack

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