我正在尝试使用以下命令将虚假数据发送到我们的数据库中:
LOAD DATA CONCURRENT LOCAL INFILE './data/alumni.txt' INTO TABLE Alumni FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';
,其中使用python脚本将数据写入alumni.txt文件
with open('./data/alumni.txt', 'a') as alumniFile:
alumniFile.write("%s\t%s\t%s\t%s\t%s\t%s\t%s" %
(alumniSSN, alumniPhoneNumber, alumniNumFamily, alumniEmail, alumniDeadAlive,
alumniFname, alumniLname) + "\n")
但是第一个键“ alumniSSN”被错误地插入而没有警告或其他任何内容。当执行SELECT * FROM Alumni;
时,我插入的alumniSSN密钥的输出被弄乱了,看起来像这样:
| SSN | phone |....
|979-67-6515 | (443) 121-3133 |....
但是直接执行mySQL命令,数据的格式如下:
| SSN | phone |....
| 979-67-6515 | (443) 121-3133 |....
问题在于|之间没有空格。和“ 9”,它弄乱了我的其他mySQL命令,并且通常会破坏我的数据库。我无法弄清楚问题出在哪里,因为在电话栏中以及除SSN之外的所有其他栏中,都有正确的空格。关于我的问题所在有什么想法吗?我尝试了多个不同的load data local infile
命令,但它们都以相同的方式出错。