CHAR(19)は小さすぎて、日付全体をミリ秒単位で保存できません。
代わりにCHAR(26)を使用してください:
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T.%f') AS CHAR(26)) AS REGDT
);
またはミリ秒を削除します:
CREATE TEMPORARY TABLE TMP(
SELECT CAST(DATE_FORMAT(NOW(), '%Y-%m-%d %T') AS CHAR(19)) AS REGDT
);
文字列の代わりにDATETIMEタイプを使用することもできます。