使用concat插入MySQL Query

时间:2016-02-27 05:24:43

标签: mysql database insert

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

这是一个例子

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

因此,此查询应该插入一个id为1且名称为#34的行;这是我的测试查询"但它给了我一个错误。 截断错误的DOUBLE值:'测试查询'

2 个答案:

答案 0 :(得分:1)

您无法使用@name + "Test Query"语法而是使用concat() mysql函数,请参阅此处以获取更多信息:http://www.w3resource.com/mysql/string-functions/mysql-concat-function.php

SET @name = "This is my";
INSERT INTO `names` (id, name)
VALUES (1, concat(@name, 'Test Query')); 

还要确保您的ID不是自动提升,如果它不需要在您的查询中传递ID号

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

答案 1 :(得分:0)

我在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