This is a translated page. The original can be found here: http://iwebdevel.com/2010/02/03/sqlite-mysql-php-ternary-operator-if-statement-in-mysql-and-sqlite/
UPDATES VIA RSS | Email Актуализации по RSS | Email Get updates via feedburner Get updates via twitter
Home / Coding / MySQL / PHP / SQLite / SQLite, MySQL, PHP: Ternary … Начало / кодиране / MySQL / PHP / SQLite / SQLite, MySQL, PHP: трикомпонентни ...

SQLite, MySQL, PHP: Ternary operator (IF() statement) in MySQL and SQLite SQLite, MySQL, PHP: трикомпонентни оператор (IF () отчет) в MySQL и SQLite

Posted on 03. Публикувано на 03. Feb, 2010 by Dragos in Coding , MySQL , PHP , SQLite Февруари, 2010 от Драгош в кодиране, MySQL, PHP, SQLite

While working on a proxy checker tool for one of my projects, I was struggling on how to execute a conditional query on my SQLite database to update a column only if its value is greater than 0 (it would be pointless in my case to let the script update the column with negative values). Докато работи върху пълномощно Инструментът за проверка за един от проектите ми, аз бях борят за това как да се изпълни заявката за условно ми SQLite база данни за актуализиране на колона, само ако стойността му е по-голям от 0 (това би било безсмислено в моя случай да оставят ръкопис обновяване на колона с отрицателни стойности).

In Mysql one would do like this (we use the ternary operator IF(to_check_expression>0,expression1,expression2) ): В Mysql не би направил подобно (ние използваме трикомпонентни оператора IF (to_check_expression> 0, expression1, expression2)):

update table_name set column_name=IF((column_name-1)>0,(column_name-1),0)

However, in SQLite this method will not work. Въпреки това, в SQLite този метод няма да работи. Instead I had to use the case when (condition) then expression1 else expression2 end method. Вместо това аз трябваше да използва случая, когато (състояние), след това expression1 друг expression2 края метод.

The above query in MySQL can be rewritten like this in SQLite: По-горе заявка в MySQL може да бъде пренаписана като този в SQLite:

update table_name set column_name=case when (column_name-1)>0 then (column_name-1) else 0 end

That's it. Това е всичко. I hope it helps someone! Надявам се, че помага някой!

Translate this post Превод този пост


Related posts: Свързани пунктове:

  1. Wordpress: Easily Reset Your Account Password Using MySQL and PHP Wordpress: Лесно Проучване Вашата Сметка парола Използване на MySQL и PHP
  2. PHP Error: Call to a member function fetch_assoc() on a non-object in PHP Error: Покана към член функция fetch_assoc () на недискриминационна основа обект в

    blog comments powered by Disqus Блог коментари захранва от Disqus