2012-06-21 1 views
1

Я пытаюсь создать таблицу, и я много раз пытался это понять ... по какой-то причине она не примет этого .. она говорит что-то о auto_incrementAndroid: mySQL, create table command

create table if not exists Assignments(
    id auto_increment primary key, 
    class_name VARCHAR(30), 
    assignment_name VARCHAR(30) not null, 
    due_date VARCHAR(30) not null, 
    notes VARCHAR(30)); 

В чем проблема?

EDIT: я пытаюсь использовать SQLite в конце концов, но эта команда была написана на моем MySql через WAMP

+0

Можете ли вы разместить точное сообщение об ошибке? – noisecapella

+0

ERROR 1064 (42000): У вас есть ошибка в синтаксисе SQL: проверьте руководство, соответствующее версии вашего сервера MySQL для правильного использования sytax возле «первичного ключа auto_increment», class_name VARCHAR (30), имя_определения VARCHAR (30) »at-line 1 –

+0

тут же перебрасывает тег sqlite, чтобы люди могли искать и эти вопросы. – MattC

ответ

1

Прежде всего, Android использует SQLite, так что ваш MySQL тег немного некорректно, если мне не хватает чего-то, что вы делаете.

Во-вторых, вы бы сказали

CREATE TABLE ASSIGNMENTS(id INTEGER PRIMARY KEY, class_name TEXT, assignment_name TEXT NOT NULL, due_date TEXT NOT NULL, notes TEXT); 

«автоинкремент» обрабатывается автоматически, если вы установите первичный ключ в качестве типа INTEGER, даже если под SQLite чехлов использует строки для всего

ссылка: SQLite datatypes

далее ссылка: INTEGER PRIMARY KEY

еще ссылка: «Если INSE Оператор RT пытается вставить значение NULL в столбцы первичного ключа rowid или integer, система выбирает целочисленное значение для использования в качестве rowid автоматически. Подробное описание того, как это делается, предоставляется отдельно ».

+0

Это определенно проблема, которую я, вероятно, должен исправить, но даже если вы читаете мое редактирование, я не делаю этого через sql lite –

+0

Итак, у вас есть MySQL на устройстве Android?!? – MattC

+0

no lol, im, проверяющий команду, которая будет отправлена ​​через mySQLite в моей командной строке mySQL WAMP. –

1

Это autoincrement, не auto_increment

+0

нужен автоинкремент в SQLite – MattC

+0

SQLite не нуждается в автоматическом приращении? Я смотрел учебник о том, что кто-то делает это, хотя –

+0

См. мой ответ выше. Когда вы объявляете поле как INTEGER PRIMARY KEY, оно делает автоинкремент для вас. – MattC

 Смежные вопросы

  • Нет связанных вопросов^_^