Как вставить данные в таблицу с помощью SQL? - PullRequest
0 голосов
/ 27 мая 2018

Вставьте в таблицу App.settings следующие значения:

(99, DEFAULT, "horizontal", "2015-09-15 04:01:04")

У меня есть БАЗА ДАННЫХ под названием 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)

Ответы [ 3 ]

0 голосов
/ 27 мая 2018

вы уверены, что все поля кортежа есть, и если это так, они находятся в правильном порядке, если вы не вводите все поля кортежа, вы должны использовать следующую форму: INSERT INTO App.settings(value, config, position, date ) VALUES(99, "DEFAULT", "horizontal", "2015-09-15 04:01:04");

В том же порядке

это всего лишь пример. Я не знаю имен полей, которые необходимо изменить, если вы используете

0 голосов
/ 27 мая 2018

Как сказал @GordonLinoff, вы должны включить столбцы в ваш запрос.Таким образом, вы также можете пропустить ввод значения DEFAULT для email_frequency.

Что касается ошибки, то, скорее всего, вы используете двойные кавычки, которые вы используете вместо одиночных кавычек.

Попробуйте следующее:

INSERT INTO App.settings (user_id, layout, updated_at) 
    VALUES (99, 'horizontal', '2015-09-15 04:01:04');
0 голосов
/ 27 мая 2018

При использовании 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.Не все базы данных поддерживают этот синтаксис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...