多次尝试了网上的关于INSERT INTO 表名 (字段名1,字段名2,…)VALUES(值1,值2,…);都没有用,报错:Error Code: 1146
具体是JSP连接数据库的时候执行插入语句一直失败,最后一句句排查是插入语句有问题,直接在MySQL中尝试发现确实是语句的问题,一直在MySQL中尝试,终于解决了。下面是解决方案:
- 网上流传的一般代码
//time是table_name,name是column_name,'我是数字4'是我要插入的数据
INSERT INTO time (name) VALUES ('我是数字4');
-
运行结果
MySQL报错原因:Error Code: 1146. Table ‘database.into time’ doesn’t exist. -
我自己探索出来的方法
//database是我的数据库名
INSERT INTO `database`.`time`(`name`)VALUES('我是数字4');
特别注意两个符号 ` 和 '
在MySQL中,
- 数据库名和表名,列名用的前面那个点(打出来的方法是,打开大写键,再按ESC下面的那个点)。
- 文本用的是后面的那个符号英文状态下得单引号。
灵感来源
在MySQL Workbench 8.0 CE中自带的方法:
我数据库中的表
本文中database是数据库名,time是表名,create_time,update_time,name是列名。