Я получил дамп данных MySQL и пытаюсь вставить данные в набор временных таблиц. Оператор создания для первой таблицы показан ниже. Когда я запускаю это, я получаю сообщение об ошибке: «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 ''temp_books'( 'ID'int( 11 ) NOT NULL AUTO_INCREMENT, 'start'varchar( 20 ) ' at line 1». Я проверил документацию по синтаксису MySQL и не вижу, что проблема.
CREATE TABLE 'temp_books' (
'ID' int(11) NOT NULL AUTO_INCREMENT,
'start' varchar(20) NOT NULL,
'customer_id' int(11) NOT NULL DEFAULT '0',
'total_num' int(11) NOT NULL,
'amount' double(5,2) NOT NULL DEFAULT '0.00',
'changed' timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY ('ID'),
UNIQUE KEY 'start' ('start')
) ENGINE=MyISAM AUTO_INCREMENT=4853 DEFAULT CHARSET=latin1;






У меня ВСЕГДА были проблемы с CREATE TABLE. Не знаю почему. Требуется метод проб и ошибок.
Попробуй это:
CREATE TABLE temp_books (
ID int(11) NOT NULL AUTO_INCREMENT,
start varchar(20) NOT NULL,
customer_id int(11) NOT NULL DEFAULT '0',
total_num int(11) NOT NULL,
amount double(5,2) NOT NULL DEFAULT '0.00',
changed timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (ID),
UNIQUE KEY start (start)
) ENGINE=MyISAM AUTO_INCREMENT=4853 DEFAULT CHARSET=latin1;
Да. Но я думаю, что он преобразует объявление в целое число без знака.
Мне пришлось удалить кавычки, а также значение по умолчанию для измененного поля, а также кодировку по умолчанию. Надеюсь, это не повлияет на данные.
Не следует заключать идентификаторы в одинарные кавычки. Если вы собираетесь цитировать их, используйте символ «обратной галочки» («»). Вы также можете использовать двойные кавычки, но вы должны указать этот режим:
SET sql_mode='ANSI_QUOTES';
Вот еще один способ его написания, который может сработать для некоторых: (для краткости опущена большая часть столбцов)
create table temp_books
(
id int not null,
start varchar(255) null,
constraint six_cb_datasource_pk
primary key (id)
);
Допускает ли MySQL что-то вроде int (11)?