Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie zezwalaj na parametry NULL procedur składowanych w MySQL/MariaDB

Musisz samodzielnie sprawdzić poprawność przekazanych wartości parametrów. Jeśli używasz MySQL 5.5 lub nowszego, możesz skorzystać z SIGNAL .

DELIMITER //
CREATE PROCEDURE my_procedure (IN param1 INT)
BEGIN
  IF param1 IS NULL THEN
    SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'NULL is not allowed.';
  END IF;
  -- do whatever 
END//
DELIMITER ;

Oto SQLFiddle demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zaznaczenie wszystkich odpowiednich pól za pomocą MAX i GROUP BY

  2. Jakie jest poprawne kodowanie/uciekanie/htmlentities potrzebne przy wysyłaniu danych z js do php, php do mysql oraz dla odpowiedzi REST json

  3. MYSQL usuwa wszystkie wyniki mające count(*)=1

  4. Podziel dane na 3 kolumny

  5. Wypełnij tablicę PHP z pętli while