Java里用INSERT INTO VALUES()向mysql插入数据,VALUES里面的值是变量怎么办

location为sql里面的一个表,有两个字段longitude(经度)和latitude(纬度)。
由于经纬度要不断更新,所以想用变量来定义经度和纬度。想先测试一下VALUES里面怎么写变量,随便定义了两个值10和11
截取程序如下:
String mylongitude="10";
String mylatitude ="11";
String sql = "INSERT INTO location(longitude, latitude)"
+ " VALUES (mylongitude,mylatitude)";

运行显示:
插入数据失败 Unknown column 'mylongitude' in 'field list' 就是说VALUES (a,b)不能这么写,那应该怎样写,求助大牛!!~~谢谢~~~

VALUES 语句
具体语法:VALUES row_constructor_list[ORDER BY column_designator][LIMIT BY number] row_constructor_list: ROW(value_list)[, ROW(value_list)][, ...]value_list: value[, value][, ...]column_designator: column_index
VALUES 语句,用做功能展示或者快速造数据场景,结果列名字以 COLUMN_0 开头,以此类推,举个简单例子。单条 VALUES 语句mysql-(ytt/3305)->values row(1,2,3);+----------+----------+----------+| column_0 | column_1 | column_2 |+----------+----------+----------+| 1| 2| 3|+----------+----------+----------+1 row inset(0.00 sec)
多条 VALUES 语句mysql-(ytt/3305)->values row(1,2,3),row(10,9,8);+----------+----------+----------+| column_0 | column_1 | column_2 |+----------+----------+----------+| 1 | 2 | 3 || 10 | 9 | 8 |+----------+----------+----------+2 rows in set (0.00 sec)
多条 VALUES 联合 UNION ALLmysql-(ytt/3305)->values row(1,2,3),row(10,9,8) union all values \ row(-1,-2,0),row(10,29,30),row(100,20,-9);+----------+----------+----------+| column_0 | column_1 | column_2 |+----------+----------+----------+| 1 | 2 | 3 || 10 | 9 | 8 || -1 | -2 | 0 || 10 | 29 | 30 || 100 | 20 | -9 |+----------+----------+----------+5 rows in set (0.00 sec)
根据字段下标排序,从 1 开始mysql-(ytt/3305)->values row(1,2,3),row(10,9,8) union all values \ row(-1,-2,0),row(10,29,30),row(100,20,-9) order by 1 desc ;+----------+----------+----------+| column_0 | column_1 | column_2 |+----------+----------+----------+| 100 | 20 | -9 || 10 | 9 | 8 || 10 | 29 | 30 || 1 | 2 | 3 || -1 | -2 | 0 |+----------+----------+----------+5 rows in set (0.00 sec)
类型可以任意组合:bit,json,datetime,int,decimal 等mysql-(ytt/3305)->values row(100,200,300),\ row('2020-03-10 12:14:15','mysql','test'), \ row(16.22,TRUE,b'1'), \ row(left(uuid(),8),'{"name":"lucy","age":"28"}',hex('dble'));+---------------------+----------------------------+--------------------+| column_0 | column_1 | column_2 |+---------------------+----------------------------+--------------------+| 100 | 200 | 0x333030 || 2020-03-10 12:14:15 | mysql | 0x74657374 || 16.22 | 1 | 0x01 || c86fd1a7 | {"name":"lucy","age":"28"} | 0x3634363236433635 |+---------------------+----------------------------+--------------------+4 rows in set (0.00 sec)
新建表 t3,把刚才这些记录写进去mysql-(ytt/3305)->create table t3 (r1 varchar(100),r2 varchar(100),r3 varchar(100));Query OK, 0 rows affected (0.02 sec)
写入到表 t3mysql-(ytt/3305)->insert into t3 values row(100,200,300), \ row('2020-03-10 12:14:15','mysql','test'), \ row(16.22,TRUE,b'1'),\ row(left(uuid(),8),'{"name":"lucy","age":"28"}',hex('dble'));Query OK, 4 rows affected (0.00 sec)Records: 4 Duplicates: 0 Warnings: 0
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-26
不要直接写到字符串里面,要改成拼接的String sql = "INSERT INTO location(longitude, latitude)"
+ " VALUES (“+mylongitude+","+mylatitude+")";如果字段是字符类型还要加上单引号本回答被提问者和网友采纳
第2个回答  推荐于2016-08-04
可以这样写
Connection conn=null;
PreparedStatement ps=null; //创建PreparedStatement 对象
String sql= String Sql = “ INSERT INTO 表名 VALUES(?,?,?,?,…………)”;
conn=DBConnUtil.getConn();
try {
ps=conn.prepareStatement(sql);
ps.setString(1, user.getName());
ps.setString(2, user.getPwd());
int i=ps.executeUpdate();
if(i==0){
flag=false;
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
DBConnUtil.closeAll(null, ps, conn);
}
第3个回答  2013-05-09
"insert into location(longitude,latitude) values('mylongitude','mylatitude')",如果你的mylongitude是java变量应该"insert into location(longitude,latitude) values('"+mylongitude+"','"+mylatitude+"')"
第4个回答  2013-05-09
String sql = "INSERT INTO location(longitude, latitude)"
+ " VALUES (“+mylongitude+","+mylatitude+")";

Java里用INSERT INTO VALUES()向mysql插入数据,VALUES里面的值是变...
具体语法:VALUES row_constructor_list[ORDER BY column_designator][LIMIT BY number] row_constructor_list: ROW(value_list)[, ROW(value_list)][, ...]value_list: value[, value][, ...]column_designator: column_index VALUES 语句,用做功能展示或者快速造数据场景,结果列名字...

mysql数据插入问题
具体插入数据的步骤是:使用"insert into 表名 (列名) values (值);"语句,将你需要插入的数据按照表结构的列名依次填写。例如,如果你想插入一条记录,可能的命令是"insert into users (name, email) values ('John', 'john@example.com');"完成数据插入后,通过执行"select * from 表名;"查询...

insert into values??值使用变数(如何使用)
例如你前一页应该是输入这些值的栏位\/表单,按下submit之后这一页接收值然后insert进MYSQL

java向mysql插入语句 包含变量 sql=“insert into table values('"+...
不用用+号把如果是String那就是java向mysql插入语句 包含变量 sql=“insert into table values(“‘”+num+“’”);如果是int那就是sql=“insert into table values(num);

mysql insert into语句中, values()是什么作用?
sql语句中,添加记录的语法为:insert into 表名 (col1,col2...coln)values(value1,value2...valuen);其中,如果你插入的每一列都是顺序插入,无一缺漏的话,(col1,col2...coln)可以省略。也就是上式也可以简化为:insert into 表名 values(value1,value2...valuen);看了你写的sql...

如何向MySQL数据库的表中录入数据
你首先想到的就是向数据库的表中输入数据.这就牵涉到如何向数据库增加数据.下面我们就来探讨一下这个问题:1.一般我们常用的方法是insert语句(这里假定各位的版本都不是很低).她有以下几种形式:insert into tablename values(value1,value2,...)insert into tablename(fieldname1,fieldname2,...) ...

包含Mysql 的JAVA编程中,如果sql语句中包含时间变量和整形变量该怎么写...
如果publishtime 是timestamp类型的话就是这样写 insert into book values('"+bookname+"','”+publishtime“',“+number+”);

...数据连续存入表格中???values里面的怎么用变量表示!
或称重定义)insert="INSERT INTO $table($field) VALUES($value)";return mysql_query($insert);mysql_free_result($insert);ChaRu($table,$field,$value);然后$table和$field可以根据你自己的表和字段增加。value请直接赋相关动态值:比如$value=$_POST['value']或其他的。

MySQL数据插入INSERT INTO与条件查询WHERE的基本用法(二)
首先,我们需要了解MySQL的书写顺序和执行顺序。一、导入数据 在上一节课中,我们在firstdb数据库中创建了表titanic,现在我们想要向该表中插入数据,有如下两种方法:第一种,通过insert into SQL语句逐行插入。基本语法:INSERT INTO table_name ( field1,field2,...fieldN ) VALUES ( value1,value...

mysql数据插入问题
一、MySQL中数据插入可以通过INSERT语句完成。基本语法为:INSERT INTO 表名 VALUES 。例如,插入一条名为“张三”的数据到名为“users”的表的“name”列中,可以使用INSERT INTO users VALUES 。二、1. INSERT语句的基本结构:INSERT语句是MySQL中用于插入数据的基本命令。其格式如上所述,首先需要...

相似回答