免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1501 | 回复: 9

perl建表的问题 [复制链接]

论坛徽章:
0
发表于 2013-07-18 10:06 |显示全部楼层
我想在建立一张表,表名是变量名,这要怎么弄??求教。。。。。。。。。。。。。。。

比如:$name = "xxxxxxxxx";
  $query = "create table '$name' (…………)";

论坛徽章:
3
摩羯座
日期:2013-09-04 12:01:36申猴
日期:2013-10-23 12:12:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2013-07-18 10:14 |显示全部楼层
本帖最后由 grshrd49 于 2013-07-18 10:14 编辑
  1. $name = "xxxxxxxxx";
  2. $query = "create table $name (…………)";
复制代码
不要加单引号

论坛徽章:
0
发表于 2013-07-18 18:06 |显示全部楼层
不行的啊....早都试过了....回复 2# grshrd49


   

论坛徽章:
3
摩羯座
日期:2013-09-04 12:01:36申猴
日期:2013-10-23 12:12:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2013-07-18 18:08 |显示全部楼层
回复 3# huangxiaohen


能看看全部脚本嘛?数据库链接正确嘛

论坛徽章:
18
卯兔
日期:2013-09-27 17:41:0615-16赛季CBA联赛之佛山
日期:2016-07-09 17:34:45操作系统版块每周发帖之星
日期:2015-12-02 15:01:04IT运维版块每日发帖之星
日期:2015-12-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-07 06:20:00IT运维版块每日发帖之星
日期:2015-10-03 06:20:00IT运维版块每日发帖之星
日期:2015-10-01 06:20:00羊年新春福章
日期:2015-04-01 17:56:06拜羊年徽章
日期:2015-04-01 17:56:062015年迎新春徽章
日期:2015-03-04 09:49:452015年辞旧岁徽章
日期:2015-03-03 16:54:15天秤座
日期:2015-01-14 06:39:28
发表于 2013-07-19 07:25 |显示全部楼层
报错的信息等内容,全部代码

论坛徽章:
13
双鱼座
日期:2013-10-23 09:30:05数据库技术版块每日发帖之星
日期:2016-04-20 06:20:00程序设计版块每日发帖之星
日期:2016-03-09 06:20:002015亚冠之塔什干火车头
日期:2015-11-02 10:07:452015亚冠之德黑兰石油
日期:2015-08-30 10:07:07数据库技术版块每日发帖之星
日期:2015-08-28 06:20:00数据库技术版块每日发帖之星
日期:2015-08-05 06:20:002015年迎新春徽章
日期:2015-03-04 09:57:09辰龙
日期:2014-12-03 14:45:52酉鸡
日期:2014-07-23 09:46:23亥猪
日期:2014-03-13 08:46:22金牛座
日期:2014-02-11 09:36:21
发表于 2013-07-19 08:44 |显示全部楼层
sql看上去是每错的,是不是用户没权限新建表?

论坛徽章:
0
发表于 2013-07-19 11:51 |显示全部楼层
  1. use DBI;

  2. my $dbname = "url";
  3. my $location = "localhost";
  4. my $port = "3306";
  5. my $database = "DBI:mysql:$dbname:$location:$port";
  6. my $db_user = "root";
  7. my $db_pass = "root";
  8. my $dbh = DBI->connect($database,$db_user,$db_pass);

  9. $name="xxxxxxxx"

  10. my $query = "CREATE TABLE '$name'("."
  11.   `No` int(10) NOT NULL auto_increment,"."
  12.   `depth` int(10) NOT NULL,"."
  13.   `Url` text NOT NULL,"."
  14.    PRIMARY KEY  (`No`)"."
  15. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;";
  16. my $sth = $dbh->prepare($query);
  17. $sth->execute() or die "create table student error: ".$sth->errstr();
复制代码
这就是建表那块的代码。 我想见一个表名是变量的,是我通过正则获取的。

论坛徽章:
3
摩羯座
日期:2013-09-04 12:01:36申猴
日期:2013-10-23 12:12:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2013-07-19 12:59 |显示全部楼层
  1. my $query = "CREATE TABLE $name("." `No` int(10) NOT NULL auto_increment,"." `depth` int(10) NOT NULL,"." `Url` text NOT NULL,"." PRIMARY KEY  (`No`)".") ENGINE=MyISAM  DEFAULT CHARSET=utf8;";
复制代码
不要折行,双引号不能折行的

论坛徽章:
0
发表于 2013-07-19 15:17 |显示全部楼层
回复 8# grshrd49
这特么都可以~~~~~~      thank you

   

论坛徽章:
0
发表于 2013-07-23 14:30 |显示全部楼层
碰到这样的问题,我一般都是先print一下sql语句,然后再sqlplus里面运行一下,就基本知道问题所在了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP