Почему мой CSV-файл импортируется в базу данных в алфавитном порядке по первому столбцу Product_key? Вместо того, чтобы импортировать просто построчно, от первой строки CSV до последней строки?
Мой CSV не сортируется по Product_key, но после импорта строки сортируются в алфавитном порядке в my_table, как видно в PHPMyAdmin. Это таблица InnoDB.
Я не использую ASC или DESC в $pdo->prepare
Мне хотелось бы это выяснить, потому что на странице я показываю данные из таблицы под формой загрузки файла CSV и хочу, чтобы данные выглядели так же, как загруженный файл.
Изменить 26.03.26:
SHOW CREATE TABLE показывает:
vw_star_ratings CREATE TABLE `vw_star_ratings` (
`product_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
`ID_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
`value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
UNIQUE KEY `key_index` (`product_key`,`ID_key`,`value`),
KEY `product_key` (`product_key`),
KEY `ID_key` (`ID_key`),
KEY `value` (`value`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci
Есть идеи?
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
try {
$pdo->exec("TRUNCATE TABLE my_table");
$file = fopen($fileTmpPath, "r");
// Start transaction
$pdo->beginTransaction();
$stmt = $pdo->prepare("
INSERT INTO my_table (product_key, ID_key, value)
VALUES (?, ?, ?)
");
// Skip header
fgetcsv($file);
while (($row = fgetcsv($file, 1000, ",")) !== FALSE) {
if (count($row) < 3) continue;
$stmt->execute([$row[0], $row[1], $row[2]]);
}
fclose($file);
$pdo->commit();
Почему эта функция $pdo импортирует CSV-файл в алфавитном порядке по строкам в таблицу базы данных? ⇐ Php
Кемеровские программисты php общаются здесь
1774555309
Anonymous
Почему мой CSV-файл импортируется в базу данных в алфавитном порядке по первому столбцу Product_key? Вместо того, чтобы импортировать просто построчно, от первой строки CSV до последней строки?
Мой CSV не сортируется по Product_key, но после импорта строки сортируются в алфавитном порядке в my_table, как видно в PHPMyAdmin. Это таблица InnoDB.
Я не использую ASC или DESC в $pdo->prepare
Мне хотелось бы это выяснить, потому что на странице я показываю данные из таблицы под формой загрузки файла CSV и хочу, чтобы данные выглядели так же, как загруженный файл.
[b]Изменить 26.03.26:[/b]
SHOW CREATE TABLE показывает:
vw_star_ratings CREATE TABLE `vw_star_ratings` (
`product_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
`ID_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
`value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci NOT NULL,
UNIQUE KEY `key_index` (`product_key`,`ID_key`,`value`),
KEY `product_key` (`product_key`),
KEY `ID_key` (`ID_key`),
KEY `value` (`value`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci
Есть идеи?
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
try {
$pdo->exec("TRUNCATE TABLE my_table");
$file = fopen($fileTmpPath, "r");
// Start transaction
$pdo->beginTransaction();
$stmt = $pdo->prepare("
INSERT INTO my_table (product_key, ID_key, value)
VALUES (?, ?, ?)
");
// Skip header
fgetcsv($file);
while (($row = fgetcsv($file, 1000, ",")) !== FALSE) {
if (count($row) < 3) continue;
$stmt->execute([$row[0], $row[1], $row[2]]);
}
fclose($file);
$pdo->commit();
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия