嘟嘟社区

[疑问] 救命啊!关于mysql运算


mysql插入:

INSERT INTO wp_postmeta (a1,a2) VALUES (‘v1′,’v2’)

已知a1的值v1为某个数值,
但是v2为v1减1

这样写为什么不对啊:
INSERT INTO wp_postmeta (a1,a2) VALUES (‘v1′,’select v1-1’)

不懂sql,网上查的发现不对,求mjj帮忙写下。

insert into wp_postmeta set a1=v1,a2=v1-1
这要能错,我把mysql吃了
set @v1 = 100;
INSERT INTO wp_postmeta (a1,a2) VALUES (@v1,@v1 – 1);
  1. set @var=100;
  2. INSERT INTO `wp_postmeta`( `post_id`, `meta_key`, `meta_value`) VALUES (@var,’test_meta_key’,@var-1)

复制代码

帮顶一下吧
没明白你啥意思 你试试这样呢
INSERT INTO wp_postmeta (a1,a2) VALUES (‘v1’,v1-1)
本帖最后由 igoogle 于 2021-11-1 16:39 编辑

jiuyi 发表于 2021-11-1 16:34
没明白你啥意思 你试试这样呢
INSERT INTO wp_postmeta (a1,a2) VALUES (‘v1’,v1-1)

就是v1 的值,是已经通过程序传过来的,比如说为100,
但是v2是需要运算得来,v2=v1-1
如果v1为100,v2就是99
v1为200,v2就是199

这个运算怎么写啊。我用select直接运算不对。

igoogle 发表于 2021-11-1 16:38
就是v1 的值,是已经通过程序传过来的,比如说为100,
但是v2是需要运算得来,v2=v1-1
如果v1为100,v2就 …

你按我发的试试

jiuyi 发表于 2021-11-1 16:40
你按我发的试试

试过了,报错。不能这样写。

不懂,听说这样写会不走索引,在生产用会被打。
本帖最后由 loveqianool 于 2021-11-1 16:52 编辑
  1. INSERT INTO wp_postmeta (a1,a2) VALUES (‘100′,’100-1’)

复制代码

  1. INSERT INTO wp_postmeta (a1,a2) VALUES (v1,v1-1)

复制代码

比如v1=100,那么结果就是:

  1. INSERT INTO wp_postmeta (a1,a2) VALUES (100,100-1)

复制代码