使用 concat 插入 MySQL 查询

Tim*_*son 6 mysql database insert

我尝试使用变量中的名称以及值中的名称将查询插入到我的数据库中。所以我想把它变成 1 个名字。

这是一个例子

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

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

Arm*_*men 7

您不能使用@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')); 
Run Code Online (Sandbox Code Playgroud)

还要确保您的 id 不是自动递增的,如果是这样,则无需在查询中传递 id 编号,如下所示

INSERT INTO `names` (name)
VALUES (concat(@name, 'Test Query')); 
Run Code Online (Sandbox Code Playgroud)


小智 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
Run Code Online (Sandbox Code Playgroud)