![](/img/trans.png)
[英]MySQL 8.0 concat returns system.byte[] from mediumtext columns
[英]Query to MySQL from c# returns System.Byte[]
我使用下面的SP返回生成的插入語句的值,並且在查詢瀏覽器中執行時可以正常工作。
當我嘗試從C#獲取值時,它給我“ System.Byte []”作為返回值。 當我嘗試從MySql查詢瀏覽器獲取值時,它給我的返回值為:
'將admindb.accounts值插入(“ 54321”,“ 2”,“ karthik2”,“ karthik2”,“ 1”);'
我猜問題出在返回值的單引號上。 是這樣嗎 ?
DELIMITER $$
DROP PROCEDURE IF EXISTS `admindb`.`InsGen` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `InsGen`(
in_db varchar(20),
in_table varchar(20),
in_ColumnName varchar(20),
in_ColumnValue varchar(20)
)
BEGIN
declare Whrs varchar(500);
declare Sels varchar(500);
declare Inserts varchar(2000);
declare tablename varchar(20);
declare ColName varchar(20);
set tablename=in_table;
# Comma separated column names - used for Select
select group_concat(concat('concat(\'"\',','ifnull(',column_name,','''')',',\'"\')'))
INTO @Sels from information_schema.columns where table_schema=in_db and table_name=tablename;
# Comma separated column names - used for Group By
select group_concat('`',column_name,'`')
INTO @Whrs from information_schema.columns where table_schema=in_db and table_name=tablename;
#Main Select Statement for fetching comma separated table values
set @Inserts=concat("select concat('insert into ", in_db,".",tablename," values(',concat_ws(',',",@Sels,"),');')
as MyColumn from ", in_db,".",tablename, " where ", in_ColumnName, " = " , in_ColumnValue, " group by ",@Whrs, ";");
PREPARE Inserts FROM @Inserts;
EXECUTE Inserts;
END $$
DELIMITER ;
在連接設置中添加此功能可以達到目的:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.