使用concat插入MySQL查询

使用concat插入MySQL查询,mysql,database,insert,Mysql,Database,Insert,我试图在变量中使用名称,同时在值中使用名称,向我的数据库插入查询。所以我想让它成为一个名字 这里有一个例子 SET @name = "This is my"; INSERT INTO mytable (id, name) VALUES (1, @name + "Test Query"); 因此,这个查询应该插入一个id为1、名称为“This is my Test query”的行,但它给了我一个错误截断了不正确的双精度值:“测试查询”我在sql中未发现任何错误。。它执行时没有错误 DECLAR

我试图在变量中使用名称,同时在值中使用名称,向我的数据库插入查询。所以我想让它成为一个名字

这里有一个例子

SET @name = "This is my";
INSERT INTO mytable (id, name)
VALUES (1, @name + "Test Query");

因此,这个查询应该插入一个id为1、名称为“This is my Test query”的行,但它给了我一个错误截断了不正确的双精度值:“测试查询”

我在
sql
中未发现任何错误。。它执行时没有错误

DECLARE @name as varchar(100)  
DECLARE @mytable  as table ( id int, [name] varchar(100))  

SET @name = 'This is my';

INSERT INTO @mytable (id, name)
VALUES (1, @name + 'Test Query');

Select * from @mytable

您不能使用
@name+“Test Query”
语法,而应该使用
concat()
mysql函数查看此处了解更多信息:

另外,如果不需要像这样在查询中传递id号,请确保您的id不是自动递增的

INSERT INTO `names` (name)
VALUES (concat(@name, 'Test Query')); 

表中使用的名称长度是多少?还可以使用
CONCATE()
函数来完成此要求。谢谢,我正在考虑concat函数,但我不确定是否可以在插入查询中使用它。不管怎么说,这对我很有效。非常感谢你
INSERT INTO `names` (name)
VALUES (concat(@name, 'Test Query'));