SQL中向表中添加的字符都变成问号了,啥情况?怎么处理?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中向表中添加的字符都变成问号了,啥情况?怎么处理?相关的知识,希望对你有一定的参考价值。

添加的字符都变成问号显示,是怎么回事?

那是因为编码格式不正确..比如 说你和程序里是UTF-8..但是你和数据库是GB2312就会成乱码 参考技术A 既然是SQL Server也能出这样的问题。。。我想LZ你是不是使用数据批量导入的办法导入到数据库的。。。注意下:检查进入数据库表之前的每个字段数据是不是后面包含有空格。。。 参考技术B 乱码问题。。。你应该跟踪调试一下,看在哪开始变成乱码了,不单单是数据库的编码问题,各个环节都有可能出问题,不能一概而论。。。 参考技术C 这个是编码的问题,光靠转换也不能解决;有些是数据库设置的问题;估计你用的是mysql吧;

如何在SQL中向表中添加“X”行?

如果我有一个表,那么让我们说客户和我想从用户那里收到一个数字(Form)并在Customer表中创建X行。假设客户在客户表中输入了我想要4个新行的数字4。我怎样才能做到这一点?

insert into Customer Valus ('Helen' , 36 )
答案

您可以使用存储过程,然后传递要添加的客户数。像这样......

create procedure AddNewCustomers 
@NumberOfCustToAdd int 
as 

declare @counter int 

set @counter = 0 

while @counter < @NumberOfCustToAdd
begin
    //put your insert statement here
    set @counter = @counter + 1
end

go

然后,调用该过程传递用户请求的客户数量...

exec AddNewCustomers @NumberOfCustomersToCreate
另一答案

这是你想要的吗 -

INSERT INTO Customers(Name)
VALUES(NULL)
GO 10

这将插入10行,您可以稍后更新。

另一答案

在这里,这将从传入的变量生成4个相同的行。这将最多100行。

根据需要取消注释并更正插入语句。

DECLARE @I INT, @NAME NVARCHAR(10)
SET @NAME = 'HELEN'
SET @I=4

;WITH MYCTE
AS
(
SELECT @NAME AS NAME, X=1
UNION ALL 
SELECT NAME, X+1
FROM MYCTE
WHERE X<@I
)
-- INSERT INTO...
SELECT * 
FROM MYCTE OPTION(MAXRECURSION 100)

以上是关于SQL中向表中添加的字符都变成问号了,啥情况?怎么处理?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQLite 中向表中添加变量?

T-SQL中向表中插入一条数据,其中类型为Decimal的列对应的插入值为‘2400’可就是不行还报“......

如何在 React Hooks 中向表中添加行而不重复?

从程序向SQL数据库输入汉字,但是都变成了问号,求解决方案!

如何从视图中向表中插入值

在 Qt 创建器中向表视图添加仅可读行