我有這張桌子:
CREATE TABLE `country` (
`name` VARCHAR(60) NOT NULL,
`code` VARCHAR(3) UNIQUE NOT NULL,
PRIMARY KEY (`code`)
);
如您所見,此表的主鍵是單詞code
當我嘗試在此表中選擇一個特定代碼時,即 2 個字符長,它找不到任何東西。
另一方面,當我選擇這樣的 3 個字符的長代碼時:
select * from `country` where `code` = "TZA";
我得到了我想要的結果
我在表中搜索了我的變數(例如代碼“AL”),它似乎已注冊。

為什么會發生這種情況,我怎樣才能讓它發揮作用?
先感謝您!
我正在從如下所示的 csv 檔案匯入資料:

LOAD DATA LOCAL INFILE 'path_to_file\\countries.csv'
INTO TABLE `country`
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 ROWS
(`name`, `code`);
我嘗試在它的末尾code和前面選擇一個空格:
select * from `country` where `code` = 'AL ';
select * from `country` where `code` = ' AL';
但他們什么也沒輸出
uj5u.com熱心網友回復:
真正的解決方案是:
匯入此 CSV 檔案時,您應該使用:
LOAD DATA LOCAL INFILE 'path_to_file\\countries.csv'
INTO TABLE `country`
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\r\n'
IGNORE 1 ROWS
(`name`, `code`);
因為您的行似乎以 Windows 終止行的方式終止。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/428854.html
