我试图使用变量中的名称向数据库插入查询,并在值中使用名称。所以我想把它改成一个名字。
这是一个例子
SET @name = "This is my";
INSERT INTO mytable (id, name)
VALUES (1, @name + "Test Query");
因此,此查询应该插入一个id为1且名称为#34的行;这是我的测试查询"但它给了我一个错误。 截断错误的DOUBLE值:'测试查询'
答案 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