Вставьте в таблицу App.settings следующие значения:
(99, DEFAULT, "horizontal", "2015-09-15 04:01:04")
У меня есть DATABASE под названием App с таблицей настроек. Я пытаюсь вставить в таблицу, но я не могу понять, что это правильно.
Мое выражение:
INSERT INTO App.settings
VALUES(99, DEFAULT, "horizontal", "2015-09-15 04:01:04");
Правильно ли я это делаю? В нем говорится, что мой ответ неправильный.
mysql> DESC App.settings;
+-----------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------------+------+-----+---------+-------+
| user_id | int(7) | NO | | NULL | |
| email_frequency | tinyint(2) unsigned | YES | | NULL | |
| layout | varchar(70) | YES | | NULL | |
| updated_at | datetime | YES | | NULL | |
+-----------------+---------------------+------+-----+---------+-------+
4 rows in set (0.01 sec)
Когда вы используете insert
, всегда указывайте столбцы в таблице. Во-вторых, разделитель строк по умолчанию - это одиночная кавычка в SQL, а не двойная кавычка.
Поэтому я ожидаю увидеть:
INSERT INTO App.settings (col1, col3, col4) -- your real column names here
VALUES (99, 'horizontal', '2015-09-15 04:01:04');
Обратите внимание, что col2
был удален из INSERT
и VALUES
потому что вам кажется, что требуется значение DEFAULT
. Не все базы данных поддерживают этот синтаксис.
вы уверены, что все поля кортежа есть, и если да, они находятся в правильном порядке, если вы не вводите все поля кортежа, вы должны использовать следующую форму: INSERT INTO App.settings(value, config, position, date ) VALUES(99, "DEFAULT", "horizontal", "2015-09-15 04:01:04");
В том же порядке
это только пример, который я не знаю, имена полей, которые вы должны изменить для того, что вы используете
Как и @GordonLinoff, вы должны включить столбцы в свой запрос. Таким образом, вы также можете пропустить ввод значения DEFAULT
для email_frequency
.
Что касается ошибки, скорее всего, это двойные кавычки, которые вы используете вместо одиночных кавычек.
Попробуйте следующее:
INSERT INTO App.settings (user_id, layout, updated_at)
VALUES (99, 'horizontal', '2015-09-15 04:01:04');
(99, DEFAULT, 'horizontal', '2015-09-15 04:01:04')
. Имена объектов заключены в двойные кавычки:"App"."settings"
App.settings
? Можете ли вы использоватьDESC App.settings
и показать нам результат? Кроме того, какую СУБД вы используете? (MySQL, Oracle, MSSQL, MongoDB, ...)