sql >> Databáze >  >> RDS >> Mysql

MySQL převádí hodnoty mého časového razítka na 0000-00-00

K tomu dochází poměrně často.
Zaměňujete časové razítko mysql, což je ve skutečnosti hodnota podobná DATETIME, s časovým razítkem UNIX, což je počet sekund uplynulých od 1. 1. 1970.

Musíte buď změnit formát pole nebo hodnotu vložení.
Také se vám mohou hodit některé funkce mysql – například CURDATE() nebo NOW ()

$sql = 'INSERT INTO users VALUES (NULL,:username,:password,:email,NOW(),NOW())';
$stmt = $pdo->prepare($sql);
$stmt->execute(array($username, $password, $email));

Ale osobně bych se vyhnul časovým razítkům mysql. lze je nečekaně změnit a zničit všechna vaše data. Použil bych DATETIME a nastavte všechny hodnoty ručně.



  1. Skupina SQL Server podle počtu DateTime za hodinu?

  2. Postgres rekurzivní dotaz s row_to_json

  3. Smazat duplicitní řádky (nemazat všechny duplicitní)

  4. MySQL, jak zajistit, aby hodnota vypršela?