亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將文本文件加載到mysql數據庫中并為每一行添加時間戳

將文本文件加載到mysql數據庫中并為每一行添加時間戳

PHP
富國滬深 2023-04-21 13:17:13
我有一個文本文件,每一行都有序列號,例如:7656393835734594845745743598394534895346898569504596859684560498我想使用 PHP 將此文本文件添加到 mysql 表中。我的桌子看起來像這樣:serials table    id           bigint(20) auto_increment    serial       varchar(16)        timestamp    timestamp如何將文本文件中的每一行添加到序列列中,并將當前時間戳添加到每一行?這是我已經嘗試過的:$file = "serials.txt";$conn = mysqli_connect('localhost','root','root');mysqli_select_db($conn, 'myDB');mysqli_query($conn, "LOAD DATA INFILE '".$file."' INTO TABLE serials");此代碼不執行任何操作,更不用說添加數據和時間戳了。
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

我認為最簡單的方法是為列定義一個default值timestamp:


create table serials (

    id bigint primary key auto_increment,

    serial varchar(16),

    ts timestamp default current_timestamp

)

請注意,我將時間戳列重命名為某個與語言關鍵字不沖突的名稱。


然后您可以使用load data語法。重要的是您需要提供列列表,因為并非所有表列都為插入提供:


load data infile 'myfile.txt' into table serials(serial)

另一方面,如果由于某種原因不能修改表定義,另一種方法是使用子句set提供派生值:


load data infile 'myfile.txt' into table serials(serial)

set ts = current_timestamp


查看完整回答
反對 回復 2023-04-21
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

如果文件是連接腳本的本地文件,它應該LOAD DATA INFILE LOCAL在連接之前:

mysqli_options($conn,?MYSQLI_OPT_LOCAL_INFILE,?true);

檢查服務器設置有:

local_infile=ON

或者,如果您希望服務器加載文件,secure_file_priv需要是文件所在的路徑。


查看完整回答
反對 回復 2023-04-21
  • 2 回答
  • 0 關注
  • 135 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號