导航:
论坛 -> 数据库专区
斑竹:liumazi,waterstone
作者:
2018/9/28 15:51:20
标题:
为什么无法获取mysql的表结构?
浏览:1557
加入我的收藏
楼主:
我用的是fireDAC,在用TFDQuery查询mysql5.6的表结构时出现错误,请大侠帮助! with MyQuery do begin Close; SQL.Clear; SQL.Text:='SHOW CREATE TABLE ' + QuotedStr('city'); Open; if RecordCount = 1 then begin tmp:=FieldByName('create table').AsString; end; end; 我需要得到创建表的语句,所以需要用这个语句查询,出现错误时提示在city附近有错误,但是查来查去不知道为什么。
----------------------------------------------
作者:
2018/9/28 16:22:50
1楼:
试试去掉QuotedStr,直接把表名拉进去。
----------------------------------------------
-
作者:
2018/9/28 16:31:01
2楼:
没用的,试过了~~
----------------------------------------------
作者:
2018/9/28 17:17:45
3楼:
MySQL的语法没搞清楚吧,表名是用 反引号的:SHOW CREATE TABLE `city`
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2018/9/28 17:24:19
4楼:
SQL.Text:='SHOW CREATE TABLE `' + 'city' + '`'; 这样还是不行。。。。
----------------------------------------------
作者:
2018/9/28 18:01:09
5楼:
其实表名的引号可以省略。。。。
----------------------------------------------
作者:
2018/9/28 18:38:52
6楼:
反引号不是必须,当名称是保留字或者特殊字符的时候,就需要加,这和SQLServer 里面的书名号[]的用法一样。
此帖子包含附件: 大小: 95.6K
----------------------------------------------
Delphi4Linux Delphi三层/FireDAC 技术群:734515869 http://www.cnblogs.com/rtcmw
作者:
2018/10/3 8:10:42
7楼:
试试这个程序:https://pan.baidu.com/s/1udUR7APadlA4n6o7OLIs9A
----------------------------------------------
-