mySQLテーブルにインファイルしようとしているTSVがあります。いくつかの列は時間形式ですが、の標準時間形式とは一致しませんHH:MM:SS
。代わりに、次のようになります。HH:MM AM/PM
PHPでこれを行う例を見てきましたが、mysqlでこれを行う方法があることを望んでいましたstr_to_date
これが私がこれまでに取り組んできたものです。
LOAD DATA LOCAL INFILE
'C:\\SINGLE_PROP\\open_houses.txt'
REPLACE INTO TABLE singleprop.jos_openhouse
IGNORE 1 LINES
SET OHSSTARTTM = STR_TO_DATE('%g:%i %a', '%g:%i:%s');
間違った時刻形式エラーが発生し続けます。テーブルは次のようになります。
CREATE TABLE `jos_openhouse` (
`OHSSTARTDT` DATE NOT NULL,
`OHSHOSTBID` varchar(14) NOT NULL,
`OHSMLSNO` int(7) NOT NULL,
`OHSSTARTTM` TIME NOT NULL,
`OHSENDTM'` TIME NOT NULL,
`OHSREMARK` TEXT,
`OHSTYPE` TEXT,
`OHSUPDTDT` TIMESTAMP,
PRIMARY KEY (`OHSMLSNO`))
ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
infileがデータをそこに配置できるように、最初に列を「TEXT」として作成し、インポート後に時間形式に変換する必要がありますか?