Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden Sie mysqli, um die SQL-Injektion zu verhindern, wie setzen Sie NULL oder CURRENT_DATE?

Wenn Sie einen Standardparameter wünschen, können Sie entweder einen Standardwert im Datenbankschema angeben.
Für current_date müssen Sie den Datentyp auf timestamp setzen nicht date , auf diese Weise fügt MySQL automatisch now() ein in das Feld bei fehlenden Daten.

Oder erstellen Sie einen Trigger

DELIMITER $$

CREATE TRIGGER BEFORE INSERT ON FOR EACH ROW
BEGIN
  IF new.mydate IS NULL THEN SET new.mydate = NOW();
END $$

DELIMITER ;

Wenn Sie null übergeben möchten setze einfach die var auf null:

$var = null;

Links
http://dev.mysql.com /doc/refman/5.1/en/alter-table.html
http://dev.mysql.com /doc/refman/5.1/en/create-trigger.html