精易论坛

标题: SQL语句 [打印本页]

作者: hjinpwhe1    时间: 2024-6-26 15:18
标题: SQL语句
本帖最后由 hjinpwhe1 于 2024-6-26 16:42 编辑

“INSERT INTO ym VALUES (123132,'啊','啊','啊',444443111.444441111,444443111.444441111)”
易语言往上面添加这段老是报错
Navicat 上没出错啊 哪里出来问题 是 ' ' 这个出了问题吗

解决了感谢 编码的问题
https://125.confly.eu.org/forum.php?mod ... 12&pid=28397506


作者: jiesansi    时间: 2024-6-26 15:20
本帖最后由 jiesansi 于 2024-6-26 15:22 编辑

“INSERT INTO ym VALUES (123132,'啊','啊','啊',444443111.444441111,444443111.444441111)”
如果ym是文本,那么你应该VALUES ('123132,啊,啊,啊,444443111.444441111,444443111.444441111')”
如果不是。那么就是你添加的条件列和值列不匹配。
insert into 表名 (条件列1,条件列2,条件列3……)values(条件值1,条件值2,条件值3……)
作者: hjinpwhe1    时间: 2024-6-26 15:22
jiesansi 发表于 2024-6-26 15:20
“INSERT INTO ym VALUES (123132,'啊','啊','啊',444443111.444441111,444443111.444441111)”
如果ym是文 ...

ym 是表名  Navicat上正常 放易语言上 就失败
调试输出 (执行SQL语句 (数据库句柄, “INSERT INTO ym VALUES (123132,'啊','啊','啊',444443111.444441111,444443111.444441111)”))
作者: jiesansi    时间: 2024-6-26 15:23
hjinpwhe1 发表于 2024-6-26 15:22
ym 是表名  Navicat上正常 放易语言上 就失败
调试输出 (执行SQL语句 (数据库句柄, “INSERT INTO ym VAL ...

数据库工具有的会帮助你补充一些你忽略掉的。但是易语言不会。人家易语言是和SQL server沟通的又不是Navicat
作者: hjinpwhe1    时间: 2024-6-26 15:24
jiesansi 发表于 2024-6-26 15:20
“INSERT INTO ym VALUES (123132,'啊','啊','啊',444443111.444441111,444443111.444441111)”
如果ym是文 ...

字段数据类型
INT UNSIGNED ,
CHAR(20),
CHAR(20),
CHAR(20),
DOUBLE UNSIGNED ,
DOUBLE UNSIGNED
作者: hjinpwhe1    时间: 2024-6-26 15:26
jiesansi 发表于 2024-6-26 15:23
数据库工具有的会帮助你补充一些你忽略掉的。但是易语言不会。人家易语言是和SQL server沟通的又不是Navi ...

是的 就是没找到哪里出错了  感觉是中间的字符串出错了   
作者: jiesansi    时间: 2024-6-26 15:28
hjinpwhe1 发表于 2024-6-26 15:24
字段数据类型
INT UNSIGNED ,
CHAR(20),

你去查查新增语句该怎么写吧。语句还没弄明白。
insert into 表名 (列名1,列名2,列名3,)values(列名1的值,列名2的值,列名3的值,)

作者: hjinpwhe1    时间: 2024-6-26 15:31
jiesansi 发表于 2024-6-26 15:28
你去查查新增语句该怎么写吧。语句还没弄明白。
insert into 表名 (列名1,列名2,列名3,)values(列 ...

试了 还是不行  估计 CHAR(20) 这个字符串的 单引号 的问题
作者: hjinpwhe1    时间: 2024-6-26 15:32
jiesansi 发表于 2024-6-26 15:28
你去查查新增语句该怎么写吧。语句还没弄明白。
insert into 表名 (列名1,列名2,列名3,)values(列 ...

整数类型的表就成功  带字符串的就失败
作者: jiesansi    时间: 2024-6-26 15:32
再说简单点。excel用过吧。Navicat好比AI,你给他一串和表头个数相等的数据。他知道给你直接挨个填进去。SQL server就是个哈皮,他不知道你到底要填写到哪个单元格。他就报错。你得告诉他哪个值是属于哪个单元格的。他才知道
作者: jiesansi    时间: 2024-6-26 15:33
hjinpwhe1 发表于 2024-6-26 15:31
试了 还是不行  估计 CHAR(20) 这个字符串的 单引号 的问题

那你把char改成var char
作者: hjinpwhe1    时间: 2024-6-26 15:39
jiesansi 发表于 2024-6-26 15:33
那你把char改成var char

也不是
作者: 七夜网    时间: 2024-6-26 15:46
执行之前先选择数据库,或者语句里面指定数据库名,例如:数据库名.ym
作者: ai12207745    时间: 2024-6-26 15:51
hjinpwhe1 发表于 2024-6-26 15:22
ym 是表名  Navicat上正常 放易语言上 就失败
调试输出 (执行SQL语句 (数据库句柄, “INSERT INTO ym VAL ...

把执行sql,从调试输出里提出来,单独执行试试
执行SQL语句 (数据库句柄, “INSERT INTO ym VALUES (123132,'啊','啊','啊',444443111.444441111,444443111.444441111)
作者: 刘一手    时间: 2024-6-26 16:37
使用navicat执行下你的语句。看看是否报错。




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4