【问题标题】:On the insertion dynamic column of mariaDB关于mariaDB的插入动态列
【发布时间】:2016-11-19 14:49:28
【问题描述】:
set @v1 = "'city', 'ITY', 'age', '20'";
select @v1;
insert into test values (11, 'hidy', column_create(@v1));

MariaDB 不支持插入形式的这个变量,并且

client Error at))
MariaDB :10.1.19
client :heidi 9.4.0.5130 
OS: Windows 10

如何以可变形式插入?因为我想在我的JAVA中使用JDBC来传递参数

【问题讨论】:

  • 需要改进格式

标签: java mariadb mariadb-connect-engine


【解决方案1】:

您可以为 INSERT 使用准备好的语句。

MariaDB [test]> set @v1 = "'city', 'ITY', 'age', '20'";
Query OK, 0 rows affected (0.01 sec)

MariaDB [test]> set @q = concat("insert into test values(11, 'hidy', column_create(",@v1,"))");
Query OK, 0 rows affected (0.00 sec)

MariaDB [test]> select @q;
+--------------------------------------------------------------------------------+
| @q                                                                             |
+--------------------------------------------------------------------------------+
| insert into test values(11, 'hidy', column_create('city', 'ITY', 'age', '20')) |
+--------------------------------------------------------------------------------+
1 row in set (0.00 sec)

MariaDB [test]> prepare stmt from @q;
Query OK, 0 rows affected (0.00 sec)
Statement prepared

MariaDB [test]> execute stmt;
Query OK, 1 row affected (0.26 sec)

MariaDB [test]> select column_get(b,'city' as char(8)) from test;
+---------------------------------+
| column_get(b,'city' as char(8)) |
+---------------------------------+
| ITY                             |
+---------------------------------+
1 row in set (0.00 sec)

【讨论】:

  • 谢谢。这个获取JSON值比MYSQL难
猜你喜欢
  • 1970-01-01
  • 2020-06-10
  • 2019-09-27
  • 1970-01-01
  • 1970-01-01
  • 2019-01-26
  • 2018-09-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多