我正在尝试将部分数据插入表中,而将其余部分保留为默认值,但是不知何故它一直在说错误的语法
我的查询是这样的:
INSERT INTO day
(1030, 1100, date, tech)
VALUES ('356-635-3633', '356-635-3633', '2019-04-07', 'Thy')
#1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册以获取在'1030、1100,日期,技术附近使用的正确语法)VALUES('356-635-3633','356-635-3633','2019-04-07 ','Th'在第1行
这样的查询虽然有效:
INSERT INTO day (date, tech) VALUES ('2019-04-07', 'Thy')
所有这些列的数据类型均为varchar(30)
答案 0 :(得分:2)
您需要使用反引号将这些全数字标识符引起来;
INSERT INTO day
(`1030`, `1100`, date, tech)
VALUES ('356-635-3633', '356-635-3633', '2019-04-07', 'Thy')
标识符可以以数字开头,但除非引用不完全由数字组成。
Demo on DB Fiddle (您可以取消注释原始列列表以生成错误)。
NB:day
和date
对应于MySQL函数的名称。像您一样使用它们不会产生错误,但是将它们与井号包围起来还是一个好主意,只是为了避免产生任何歧义,因此:
INSERT INTO `day`
(`1030`, `1100`, `date`, tech)
VALUES ('356-635-3633', '356-635-3633', '2019-04-07', 'Thy')