将数据部分插入表中

时间:2019-04-07 22:09:17

标签: mysql sql

我正在尝试将部分数据插入表中,而将其余部分保留为默认值,但是不知何故它一直在说错误的语法

enter image description here

我的查询是这样的:

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)

1 个答案:

答案 0 :(得分:2)

您需要使用反引号将这些全数字标识符引起来;

INSERT INTO day 
    (`1030`, `1100`, date, tech) 
    VALUES ('356-635-3633', '356-635-3633', '2019-04-07', 'Thy')

来自the documentation

  

标识符可以以数字开头,但除非引用不完全由数字组成。

Demo on DB Fiddle (您可以取消注释原始列列表以生成错误)。

NB:daydate对应于MySQL函数的名称。像您一样使用它们不会产生错误,但是将它们与井号包围起来还是一个好主意,只是为了避免产生任何歧义,因此:

INSERT INTO `day`
    (`1030`, `1100`, `date`, tech) 
    VALUES ('356-635-3633', '356-635-3633', '2019-04-07', 'Thy')