#mysql #ubuntu
#mysql #ubuntu
Вопрос:
Я пытаюсь ввести данные в базу данных mysql, однако я продолжаю сталкиваться с ошибкой (1064).
------------- ------------------ ------ ----- --------- ----------------
| Field | Type | Null | Key | Default | Extra |
------------- ------------------ ------ ----- --------- ----------------
| meas_id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| sensor_id | int(11) | YES | | NULL | |
| svalue | float | YES | | NULL | |
| units | varchar(20) | YES | | NULL | |
| dt_measured | datetime | YES | | NULL | |
| lat | float | YES | | NULL | |
| long | float | YES | | NULL | |
------------- ------------------ ------ ----- --------- ----------------
Я пробовал инструкции insert, такие как:
INSERT INTO measurements (sensor_id,svalue,units,dt_measured,lat,long)
VALUES (223344,22.3344,DEG,2019-07-09T15:46:53-07:00,533244.3,60446.0);
Я думал, что этот оператор insert будет работать, но я продолжаю сталкиваться с ошибкой.
Комментарии:
1. Пожалуйста, скажите нам, в чем ошибка
2. Вы, вероятно, хотите использовать
decimal
вместо float для своих нецелочисленных числовых столбцов3.
(223344,22.3344,'DEG','2019-07-09T15:46:53-07:00',533244.3,60446.0)
используйте одинарные кавычки4. Ошибка, которую я сейчас получаю, — это ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования вблизи значений ‘long) (223344, 22.3344, ‘DEG’, ‘2019-07-09T15:46:53-07:00′, 533244.3, 60’ в строке 2
5. Пожалуйста, добавьте сообщение об ошибке к вашему вопросу.
Ответ №1:
Вам нужно заключить строковые литералы в кавычки: 'DEG
‘
Литералы даты и времени: '2019-07-09 15:46:53'
Также MySQL не принимает формат ISO 8601 для datetimes. Он принимает только YYYY-MM-DD HH:MM:SS
формат.
Смотрите документацию:
Комментарии:
1. Во-первых, спасибо!, во-вторых, я все еще сталкиваюсь с ошибкой. ОШИБКА 1064 (42000): у вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования вблизи значений ‘long) (223344, 22.3344, ‘ГРАД’, ‘2019-04-03 15:46:53′, 533244.3, 60446.0)’ в строке 1
2. long — это зарезервированное слово. Используйте другое имя столбца или заключите его в обратные ссылки. dev.mysql.com/doc/refman/8.0/en /…
3.
long
это зарезервированное ключевое слово . Вы можете использовать это, если поставите внутри обратные галочки.