吾爱破jie 发表于 2019-10-20 22:04

MySQL如何插入一个变化的值

a = str(nihao)
sql = """insert into table(no) values (a)"""

我想实现这一段,a是一个变量,里面是一个字符串,我想将这个变量a当作一个值插入到数据库中,插入之后显示的是a中的值而不是a,请问正确的方法该如何实现,我这个有问题。

a952135763 发表于 2019-10-20 22:21

本帖最后由 a952135763 于 2019-10-20 22:25 编辑

创建一个函数
CREATE DEFINER=`数据库名`@`%` PROCEDURE `函数名`(IN `传入参数名` 参数类型)
BEGIN
insert into table(no) values (传入参数名)
END
然后需要用到函数的时候使用如下代码调用
Call 函数名(参数.....);
创建的函数可以有多个参数,Call的时候 请对应好函数的参数类型哦
返回内容也可以自定义,具体你说的 '插入之后显示的是a中的值而不是a' 我是搞不懂....

15774211127 发表于 2019-10-20 22:24

a = str(nihao)
sql = "insert into table(no) values ('"+a+"')"
我看你给的是python代码,所以可以直接这么写

chinaqin 发表于 2019-10-20 23:04

本帖最后由 chinaqin 于 2019-10-20 23:08 编辑

a = str(nihao)
sql = "insert into table(no) values ({})".format(a)

heroic 发表于 2019-10-21 10:01

变量的话需要用连接符进行sql组装连接

吾爱破jie 发表于 2019-10-21 10:15

chinaqin 发表于 2019-10-20 23:04
a = str(nihao)
sql = "insert into table(no) values ({})".format(a)

我下课后去试试

吾爱破jie 发表于 2019-10-21 10:17

15774211127 发表于 2019-10-20 22:24
a = str(nihao)
sql = "insert into table(no) values ('"+a+"')"
我看你给的是python代码,所以可以直接 ...

这个不行我试过了

吾爱破jie 发表于 2019-10-21 10:20

a952135763 发表于 2019-10-20 22:21
创建一个函数
CREATE DEFINER=`数据库名`@`%` PROCEDURE `函数名`(IN `传入参数名` ...

这也太复杂了,

15774211127 发表于 2019-10-21 10:21

吾爱破jie 发表于 2019-10-21 10:17
这个不行我试过了

那我就不清楚你是怎么执行的了啊

吾爱破jie 发表于 2019-10-21 11:46

15774211127 发表于 2019-10-21 10:21
那我就不清楚你是怎么执行的了啊

我在树莓派上的linux系统远程连接阿里云服务器上的MySQL,反正这样执行是不可以的
页: [1] 2
查看完整版本: MySQL如何插入一个变化的值