要一条sql语句查出来比较麻烦,变通了一下
1、把这个存储过程增加到你的数据库中(想必你应该了解存储过程)
delimiter //
create function getId() returns int(4)
begin
set @id=@id+1
return @id
end
//
2、在执行你的sql语句前设置一下id,
set @id=0
3、你的sql语句:
select getId(),column1,column2 from tb
select CONCAT(COLUMN_NAME ,',') from information_schema.COLUMNS where table_name = '表名' and table_schema = '库名'首先,不推荐使用MySQL的关键词来作为字段名,但是有时候的确没有注意,或者因为之前就这么写了,没办法,那怎么办呢?
下面就详细的说明一下怎样使用 方法2 来处理。
上面的测试表是MySQL自动生成的DDL,其实从上面就可以看出,MySQL的引号内是说明绝对的保证大小写和当做普通字符串处理。
这里使用了maxvalue这个不常用的关键词作为字段名,一样违反了通常常规的命名规则,MySQL无法很好的识别。
查询SQL:
在navicat中可以正常执行,没有任何问题。
然后再运行insert语句:
提示下面的错误:
提示错误,但是没有明显的说明是关键词不能识别。
增加引号,使用MySQL的引号“`”,记住不是普通的英文单引号“'”,是倾斜的上撇,不是竖直的上撇。
键盘输入方式为键盘英文字母键上面的数字键1最前面的那个波浪线和顿号组成的键。也就是ESC下面,TAB键上面的按键。
这样就可以正常运行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)