Кәдімгі мәтін тізімін mysql кестесіне кірістіріңіз

Кәдімгі мәтіндегі өте ұзын тізімім бар, ол менің дерекқорды кестеге кіргізу керек. Кәдімгі мәтіндік құжаттың әрбір жолын қолмен енгізу керек пе немесе сұрауды пайдаланып, кестеде тәуелсіз жолдарға ұзақ тізімдерді енгізу әдісі бар ма?

Менде 2 баған, id және club_name бар кесте бар, club_name - блокноттың құжатындағы қарапайым мәтін.

1

7 жауаптар

LOAD DATA , мысалы:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
-> LINES TERMINATED BY '\r\n';

Сондай-ақ, көп жолды кірістіруді пайдалана аласыз синтаксисі (InnoDB кестелерін пайдалансаңыз), келесідей:

INSERT INTO yourtable VALUES (1,2), (5,5), ...
3
қосылды
Мен 2000-ге жуық желіні атап өтуім керек еді, оны енгізудің қажеті қандай?
қосылды автор huddds, көзі
@huddds бұл бірқатар төмен желілер үшін, менің ойымша, бұл маңызды. Барынша ыңғайлы әдіспен өтіңіз.
қосылды автор Klaus Byskov Pedersen, көзі

Блокноттың барлық мазмұнын «мәтін» типіндегі бағаға кірістіріңіз

1
қосылды
    $file = file("content.txt"); //read file line by line
    foreach ($file as $val) {
        if (trim($val) != '') { //ignore empty lines
            mysql_query("INSERT INTO xxx SET club='" . $val . "'");
        }
    }
0
қосылды

LOAD DATA INFILE пәрменін пайдаланып деректерді MySQL ішіне жүктеуге болады.

Here is the documentation... http://dev.mysql.com/doc/refman/5.1/en/load-data.html

0
қосылды

LOAD DATA INFILE пәрменін пайдаланып деректерді MySQL ішіне жүктеуге болады.

Here is the documentation... http://dev.mysql.com/doc/refman/5.1/en/load-data.html

0
қосылды

Міне, жылдам PDO негізінде, бірақ MySQL-тың LOAD DATA INFILE пәрмені қажет болмаса, әлдеқайда жақсы опция болуы мүмкін бастапқы деректерді басқарыңыз (трим, қалыпты және т.б.).

<?php
$conn = new PDO($dsn, $username, $password);
$stmt = $conn->prepare('INSERT INTO table VALUES (NULL, ?)');
foreach(file('list.txt') as $club) {
    $stmt->execute(array($club));
}

Энтони.

0
қосылды

Мұнда PHP, mysqli және бір жолда әрбір жазба бар мәтіндік файлмен қалай істеу керек:

<?php
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "db";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
$file = file("list.txt"); //read file line by line
    foreach ($file as $val) {
        if (trim($val) != '') { //ignore empty lines
            $sql = "INSERT INTO `db`.`table` (`column`) VALUES ('$val');";
            if ($conn->query($sql) === TRUE) {
    echo "New record created successfully";
} else {
    echo "Error: " . $sql . "
" . $conn->error; } } } ?>

Бұл ДанФромГерманияның жауабына негізделген, бірақ mysqli-ді пайдалану үшін жаңартылған.

0
қосылды