#mysql #mariadb
#mysql #mariadb
Вопрос:
Во-первых, при вставке моей базы данных я выдал ошибку, в частности, в одной таблице … той, о которой идет речь ниже. первая ошибка была: указано слишком много ключевых частей; разрешено не более 16 частей << Я вручную удалил несколько, и он закончил вставку базы данных. Когда я посмотрел на БД, я заметил, что эта таблица, в частности, отсутствует. Итак, теперь я добавил таблицу вручную и.. пытаюсь вставить.
Mysql MariaDB испытывает наибольшие трудности при вставке этого в таблицу. Таблица уже создана в БД, и она пустая. Я запускаю ее через средство проверки синтаксиса, и оно продолжает выдавать эту ошибку, и я не знаком с этой ошибкой или не знаю, как ее исправить.
Вот ошибка:
> You have an error in your SQL syntax; check the manual that
> corresponds to your MySQL server version for the right syntax to use
> near '( `entity_id` int(10) unsigned NOT NULL COMMENT 'Entity ID',
> `name` text COM' at line 1
Вот инструкция SQL (ALTER TABLE):
ALTER TABLE `customer_grid_flat` (
`entity_id` int(10) unsigned NOT NULL COMMENT 'Entity ID',
`name` text COMMENT 'Name',
`email` varchar(255) DEFAULT NULL COMMENT 'Email',
`group_id` int(11) DEFAULT NULL COMMENT 'Group_id',
`created_at` timestamp NULL DEFAULT NULL COMMENT 'Created_at',
`website_id` int(11) DEFAULT NULL COMMENT 'Website_id',
`confirmation` varchar(255) DEFAULT NULL COMMENT 'Confirmation',
`created_in` text COMMENT 'Created_in',
`dob` date DEFAULT NULL COMMENT 'Dob',
`gender` int(11) DEFAULT NULL COMMENT 'Gender',
`taxvat` varchar(255) DEFAULT NULL COMMENT 'Taxvat',
`lock_expires` timestamp NULL DEFAULT NULL COMMENT 'Lock_expires',
`customer_discount_group` varchar(255) DEFAULT NULL COMMENT 'Customer_discount_group',
`net_terms_id` text COMMENT 'Net_terms_id',
`origin` text COMMENT 'Origin',
`parent_customer_id` text COMMENT 'Parent_customer_id',
`shipping_payment_type` text COMMENT 'Shipping_payment_type',
`target_customer_id` text COMMENT 'Target_customer_id',
`target_salesperson_id` text COMMENT 'Target_salesperson_id',
`shipping_full` text COMMENT 'Shipping_full',
`billing_full` text COMMENT 'Billing_full',
`billing_firstname` varchar(255) DEFAULT NULL COMMENT 'Billing_firstname',
`billing_lastname` varchar(255) DEFAULT NULL COMMENT 'Billing_lastname',
`billing_country_id` varchar(255) DEFAULT NULL COMMENT 'Billing_country_id',
`billing_street` varchar(255) DEFAULT NULL COMMENT 'Billing_street',
`billing_vat_id` varchar(255) DEFAULT NULL COMMENT 'Billing_vat_id',
PRIMARY KEY (`entity_id`),
KEY `CUSTOMER_GRID_FLAT_GROUP_ID` (`group_id`),
KEY `CUSTOMER_GRID_FLAT_CREATED_AT` (`created_at`),
KEY `CUSTOMER_GRID_FLAT_WEBSITE_ID` (`website_id`),
KEY `CUSTOMER_GRID_FLAT_CONFIRMATION` (`confirmation`),
KEY `CUSTOMER_GRID_FLAT_DOB` (`dob`),
KEY `CUSTOMER_GRID_FLAT_GENDER` (`gender`),
KEY `CUSTOMER_GRID_FLAT_BILLING_COUNTRY_ID` (`billing_country_id`),
FULLTEXT KEY `FTI_E6952E9D8A6EAABA183A6212F5AE5345` (`name`,`email`,`created_in`,`taxvat`,`origin`,`parent_customer_id`,`shipping_payment_type`,`target_customer_id`,`shipping_full`,`billing_full`,`billing_firstname`,`billing_lastname`)
);
Любая помощь будет с благодарностью принята. Спасибо.
Комментарии:
1. что
select version();
показывает?2. 8.0.22-0ubuntu0.20.04.2 @ysth
3. Похоже, у вас есть
ALTER TABLE
команда, которая выглядит какCREATE TABLE
синтаксис. Далее в вашем примере естьCREATE TABLE
оператор, так что, может быть, простоALTER
оператор просто нужно удалить?4. я думаю, что я случайно вставил это дважды. позвольте мне это исправить
5. синтаксис alter table совершенно отличается от синтаксиса create table, но вы обрабатываете его так, как если бы он был тем же самым. похоже, у вас уже есть таблица; что вы пытаетесь изменить?
Ответ №1:
ALTER TABLE
требуется ADD COLUMN
и ADD INDEX
, а не то, что у вас есть.
Таблица создана, но в ней ничего нет .. поэтому я пытаюсь вставить все столбцы
Это утверждение неоднозначно. Первая часть, «в ней ничего нет», обычно означает «нет строк». Но если вы имеете в виду «не имеет столбцов», то я рекомендую вам просто DROP TABLE...
избавиться от имеющейся у вас таблицы с нулевым столбцом и просто перейти ALTER
на CREATE
нее и запустить.