我有一個TSV,我試圖將其插入到mySQL表中。幾列是時間格式,但它們不符合HH:MM:SS
的標準時間格式,而是它們看起來像HH:MM AM/PM
mysql infile將字符串轉換爲時間格式
我見過用PHP做這個的例子,但我希望有一種方法可以做with with 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可以把數據存在,然後它轉換成時間格式,它已經導入後?
您應該只創建'的東西,可以不適合在'VARCHAR'列,例如東西都是超過255個字符長TEXT'列。這麼久的日期肯定是無效的。 – tadman
備註是charcter長度爲500的描述;) – Plummer
您可以在更新版本的MySQL中始終聲明'VARCHAR(512)'。由於'TEXT'列存儲在數據庫的一個單獨的blob區域,因此它們的性能通常很差。 'VARCHAR'存儲在行本身中。 – tadman