亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

perl 學習資料整理篇第1/4頁

2020-10-31 15:20:45
字體:
來源:轉載
供稿:網友
NULL值的判斷
$t{type1id} = $$pref{dbh}->selectrow_array("SELECT type1id FROM enq1 WHERE id =
3");
if ( $t{type1id} == 0 ) {
print "Type1id is NULL/n";
}
==>不是數值項的話,這個語句有問題。數值項專用。
if ( length($t{type1id}) == 0 ) {
print "Type1id is NULL/n";
}
==>如果Null的話,這個語句有問題
如果@rec含有NULL的話,下面的操作要出錯誤信息
$t{line1} = join(' ',@rec);

($t{old1},$t{new1p},$t{new1q}) = $self->dbh->selectrow_array("SELECT
type1id,partsid,QTY FROM enq1 WHERE id = $t{enq1_id}");
91==> if ( $t{old1} == 0 ) {
--------------------------------------------------
[error] [client 127.0.0.1] Use of uninitialized value in numeric eq (==) at
./pro/mscenq1.pl line 91, <CONFIG> line 11.,
--------------------------------------------------
如何判斷一個項目的值是否是NULL(未解決)
解決!第一次INSERT時,放一個常數(比如"B")
起源==>
637==> $t{Nu1} = $self->dbh->selectrow_array("select parts_Unit from parts_nu
where id = $t{Nuid1}");
--------------------------------------------------
[Wed May 14 17:27:51 2008] [error] [client 127.0.0.1] DBD::mysql::db
selectrow_array failed: You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to use near
'' at line 1 at ./pro/mscenq1.pl line 637, <CONFIG> line 11., referer:
--------------------------------------------------
要考慮$t{Nuid1}不存在的情況

考慮id=C的情況
591==>
@{ $t{p1} } = $self->dbh->selectrow_array("SELECT * FROM $t{ptable}
WHERE id = $t{pid1}");
--------------------------------------------------
[error] [client 127.0.0.1] DBD::mysql::db selectrow_array failed: Unknown
column 'C' in 'where clause' at ./pro/mscenq1.pl line 591, <CONFIG> line 11.,
referer:
--------------------------------------------------
要考慮$t{pid1}='C'的情況
if ( $#{ $t{pid_list} } == 0 && $t{pid_list}[0] eq 'C' ) {
next;
}
COPY一個項目的subroutine
use strict;
use DBI;
# 連接數據庫
my(%t,$n,@fld,@rec,$pref);
print "This is test3.pl./n";
# 連接數據庫
$$pref{dsn} = "DBI:mysql:host=localhost;database=cookbook";
$$pref{dbh} = DBI->connect($$pref{dsn}, "cbuser", "cbpass") or die "Cannot
connect to server/n";
$$pref{dbh}->do("SET NAMES utf8");
if(!$$pref{dbh}){
print "SQL read ERROR!/n";
exit;
}
$$pref{table} = 'enq2';
$$pref{oldid} = 4;
($pref) = copy_one($pref);
# 關閉數據庫
$$pref{dbh}->disconnect;
# COPY一個項目
sub copy_one {
my($pref) = @_;
my(%t,@rec,$n);

# 取出COLUMNS
$t{sth} = $$pref{dbh}->prepare("SHOW COLUMNS FROM $$pref{table}");
$t{sth}->execute;
while ( @rec = $t{sth}->fetchrow_array ) {
push(@{ $t{columns} },$rec[0]);
}
$t{sth}->finish;
# 取出數據(同時記住不是NULL的項目)
@{ $t{one} } = $$pref{dbh}->selectrow_array("SELECT * FROM $$pref{table}
WHERE id = $$pref{oldid}");

for $n ( 1 .. $#{ $t{one} } ) {
$t{name} = $t{columns}[$n];
$t{value} = $t{one}[$n];
if ( $t{value} ) {
$t{value} = '"' . $t{value} . '"';
push(@{ $t{names} },$t{name});
push(@{ $t{values} },$t{value});
}
}
$t{name1} = join(',',@{ $t{names} });
$t{value1} = join(',',@{ $t{values} });

# 插入新項目
$t{sql} = 'INSERT INTO ' . $$pref{table} . '(';
$t{sql} .= $t{name1} . ') VALUES(';
$t{sql} .= $t{value1} . ')';

$t{DO} = $$pref{dbh}->do($t{sql});

# print "DO=$t{DO}/n";
return($pref);
}
# 可能MySQL存在很簡單的命令執行上面的操作。已經做過的程序就放在這兒了。

--------------------------------------------------------------------------------
MySQL操作程序二
返回
--------------------------------------------------------------------------------
不許OURREF重復的操作
$t{enq1_id} = $t{q}->param("enq1_id");
$t{our1_new} = $self->dbh->selectrow_array("SELECT ourref FROM enq1 WHERE id = $t{enq1_id}");
# 取得現有所有quo2的enq1id數據,如果有一樣的不允許切換
# enq1和quo2必須是一對一關系
# 取出所有的OURREF
$t{sth} = $self->dbh->prepare("SELECT enq1id FROM quo2");
$t{sth}->execute;
while ( @rec = $t{sth}->fetchrow_array ) {
$t{our1} = $self->dbh->selectrow_array("SELECT ourref FROM enq1 WHERE id = $rec[0]");
push(@{ $t{our1s} },$t{our1});
}
$t{sth}->finish;
$t{our1_old} = join(' ',@{ $t{our1s} });
if ( $t{our1_old} !~ /$t{our1_new}/ ) {
$t{sql} = 'UPDATE quo2 SET enq1id ="';
$t{sql} .= $t{enq1_id} . '" WHERE id = "';
$t{sql} .= $t{quo2_id} . '"';
$t{DO} = $self->dbh->do("$t{sql}");
}
刪除表格內容的一些操作
顯示表格hull_no的第309行到362行的內容
mysql> SELECT * from hull_no WHERE id >= 309 AND id <= 362;
刪除表格hull_no的第309行到362行的HULL_NO
mysql> UPDATE hull_no SET HULL_NO = "" WHERE id >= 309 AND id <= 362;
Query OK, 54 rows affected (0.16 sec)
Rows matched: 54 Changed: 54 Warnings: 0
刪除表格hull_no的第309行到362行的name
mysql> UPDATE hull_no SET name = "" WHERE id >= 309 AND id <= 362;
Query OK, 54 rows affected (0.01 sec)
Rows matched: 54 Changed: 54 Warnings: 0
表格刪除一行操作
mysql> show columns from quo2;
+-----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| enq1id | int(11) | YES | | NULL | |
| ORIGINid | int(11) | YES | | NULL | |
| PRICEid | int(11) | YES | | NULL | |
| PAYMENTid | int(11) | YES | | NULL | |
| DELIVERY | text | YES | | NULL | |
| percent0 | int(11) | YES | | NULL | |
| percent | text | YES | | NULL | |
| price | text | YES | | NULL | |
| total | int(11) | YES | | NULL | |
| memo | text | YES | | NULL | |
+-----------+---------+------+-----+---------+----------------+
12 rows in set (0.08 sec)
mysql> ALTER TABLE quo2 DROP enq1id;
Query OK, 6 rows affected (0.27 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> show columns from quo2;
+-----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| ORIGINid | int(11) | YES | | NULL | |
| PRICEid | int(11) | YES | | NULL | |
| PAYMENTid | int(11) | YES | | NULL | |
| DELIVERY | text | YES | | NULL | |
| percent0 | int(11) | YES | | NULL | |
| percent | text | YES | | NULL | |
| price | text | YES | | NULL | |
| total | int(11) | YES | | NULL | |
| memo | text | YES | | NULL | |
+-----------+---------+------+-----+---------+----------------+
11 rows in set (0.02 sec)
mysql> show columns from order1;
+-----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| orderno | text | YES | | NULL | |
| ORIGINid | int(11) | YES | | NULL | |
| PRICEid | int(11) | YES | | NULL | |
| PAYMENTid | int(11) | YES | | NULL | |
| DELIVERY | text | YES | | NULL | |
| price | text | YES | | NULL | |
| total | text | YES | | NULL | |
| memo | text | YES | | NULL | |
+-----------+---------+------+-----+---------+----------------+
10 rows in set (0.02 sec)
mysql> ALTER TABLE order1 DROP price;
Query OK, 10 rows affected (0.24 sec)
Records: 10 Duplicates: 0 Warnings: 0
mysql> ALTER TABLE order1 DROP total;
Query OK, 10 rows affected (0.17 sec)
Records: 10 Duplicates: 0 Warnings: 0
mysql> show columns from order1;
+-----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| orderno | text | YES | | NULL | |
| ORIGINid | int(11) | YES | | NULL | |
| PRICEid | int(11) | YES | | NULL | |
| PAYMENTid | int(11) | YES | | NULL | |
| DELIVERY | text | YES | | NULL | |
| memo | text | YES | | NULL | |
+-----------+---------+------+-----+---------+----------------+
8 rows in set (0.01 sec)
表格增加一行操作
mysql> show columns from enq2;
+-----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| enq1id | int(11) | YES | | NULL | |
| ORIGINid | int(11) | YES | | NULL | |
| PRICEid | int(11) | YES | | NULL | |
| PAYMENTid | int(11) | YES | | NULL | |
| makerid | int(11) | YES | | NULL | |
| DELIVERY | text | YES | | NULL | |
| type1id | text | YES | | NULL | |
| partsid | text | YES | | NULL | |
| QTY | text | YES | | NULL | |
| memo | text | YES | | NULL | |
+-----------+---------+------+-----+---------+----------------+
12 rows in set (0.06 sec)
mysql> ALTER TABLE enq2 ADD LANGUAGEid INT AFTER enq1id;
Query OK, 1 row affected (0.45 sec)
Records: 1 Duplicates: 0 Warnings: 0
mysql> show columns from enq2;
+------------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| enq1id | int(11) | YES | | NULL | |
| LANGUAGEid | int(11) | YES | | NULL | |
| ORIGINid | int(11) | YES | | NULL | |
| PRICEid | int(11) | YES | | NULL | |
| PAYMENTid | int(11) | YES | | NULL | |
| makerid | int(11) | YES | | NULL | |
| DELIVERY | text | YES | | NULL | |
| type1id | text | YES | | NULL | |
| partsid | text | YES | | NULL | |
| QTY | text | YES | | NULL | |
| memo | text | YES | | NULL | |
+------------+---------+------+-----+---------+----------------+
13 rows in set (0.00 sec)
mysql> show columns from quo1;
+----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| enq2id | int(11) | YES | | NULL | |
| makerref | text | YES | | NULL | |
| memo | text | YES | | NULL | |
+----------+---------+------+-----+---------+----------------+
5 rows in set (0.30 sec)
mysql> ALTER TABLE quo1 ADD price TEXT AFTER makerref;
Query OK, 2 rows affected (0.67 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> show columns from quo1;
+----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| enq2id | int(11) | YES | | NULL | |
| makerref | text | YES | | NULL | |
| price | text | YES | | NULL | |
| memo | text | YES | | NULL | |
+----------+---------+------+-----+---------+----------------+
6 rows in set (0.02 sec)
修改一個Column的操作(改名和改數據定義)
mysql> show columns from order1;
+-----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| quo2id | int(11) | YES | | NULL | |
| ORIGINid | int(11) | YES | | NULL | |
| PRICEid | int(11) | YES | | NULL | |
| PAYMENTid | int(11) | YES | | NULL | |
| DELIVERY | text | YES | | NULL | |
| price | text | YES | | NULL | |
| total | text | YES | | NULL | |
| memo | text | YES | | NULL | |
+-----------+---------+------+-----+---------+----------------+
10 rows in set (0.16 sec)
mysql> ALTER TABLE order1 CHANGE quo2id orderno TEXT;
Query OK, 6 rows affected (0.56 sec)
Records: 6 Duplicates: 0 Warnings: 0
mysql> show columns from order1;
+-----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+---------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| time | date | YES | | NULL | |
| orderno | text | YES | | NULL | |
| ORIGINid | int(11) | YES | | NULL | |
| PRICEid | int(11) | YES | | NULL | |
| PAYMENTid | int(11) | YES | | NULL | |
| DELIVERY | text | YES | | NULL | |
| price | text | YES | | NULL | |
| total | text | YES | | NULL | |
| memo | text | YES | | NULL | |
+-----------+---------+------+-----+---------+----------------+
10 rows in set (0.02 sec) 

1234下一頁閱讀全文
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91精品久久久久久久久久久久久| 欧美性猛交xxxx乱大交| 色综合久久悠悠| 精品夜色国产国偷在线| 视频在线一区二区| 精品激情国产视频| 亚洲www在线观看| 日韩精品在线视频美女| 6080yy精品一区二区三区| 91精品国产综合久久久久久蜜臀| 第一福利永久视频精品| 精品久久久久久久久久久久久| 国产999精品久久久| 亚洲香蕉成人av网站在线观看| 亚洲人成在线观| 久久久精品国产| 久久精品久久久久电影| 午夜欧美不卡精品aaaaa| 欧美富婆性猛交| 久久国产精品久久久| 午夜精品99久久免费| 最近2019年手机中文字幕| 日韩精品极品在线观看| 久久久久中文字幕2018| 国产精品久久综合av爱欲tv| 国产91精品黑色丝袜高跟鞋| 国外色69视频在线观看| 狠狠久久亚洲欧美专区| 91精品视频在线免费观看| 国产精品99久久久久久人| 亚洲色图色老头| 国产999精品久久久| 欧美老女人性生活| 69久久夜色精品国产69乱青草| 日韩av免费看| 欧洲永久精品大片ww免费漫画| 九九视频这里只有精品| 91在线观看欧美日韩| 国外色69视频在线观看| 久久久久久成人| 亚洲美女av在线| 欧美一级片久久久久久久| 亚洲二区在线播放视频| 一本色道久久综合亚洲精品小说| 成人激情综合网| 国产欧美一区二区三区久久人妖| 国产精品色悠悠| 国产视频久久久| 清纯唯美亚洲综合| 日韩精品一区二区视频| 精品久久在线播放| 欧美最猛黑人xxxx黑人猛叫黄| 久久精品国产久精国产思思| 亚洲欧美在线x视频| 亚洲国产成人爱av在线播放| 8050国产精品久久久久久| 2020久久国产精品| 一道本无吗dⅴd在线播放一区| 亚洲国产精品va在线看黑人| 亚洲男人的天堂网站| 国产日韩欧美另类| 国产一区二区三区中文| 亚洲国产精品视频在线观看| 欧美激情免费视频| 亚洲白拍色综合图区| 亚洲日本欧美日韩高观看| 欧美精品在线免费| 中文字幕亚洲一区在线观看| 亚洲热线99精品视频| 欧美激情精品久久久久久变态| 美乳少妇欧美精品| 性欧美长视频免费观看不卡| 国产午夜精品久久久| 欧美一区二区色| 97人人爽人人喊人人模波多| 性日韩欧美在线视频| 97视频在线观看网址| 欧美日韩午夜视频在线观看| 黄色成人av网| 久久成人在线视频| 国产91精品久| 91精品久久久久久| 欧美日在线观看| yw.139尤物在线精品视频| 亚洲美女在线看| 日韩成人高清在线| 国产精品第三页| 欧美国产日韩一区二区三区| 国产欧美一区二区三区久久人妖| 亚洲3p在线观看| 欧美日韩xxxxx| 深夜福利亚洲导航| 日韩av手机在线观看| 国产精品成人va在线观看| 在线播放日韩av| 亚洲激情在线观看视频免费| 国产91精品黑色丝袜高跟鞋| 亚洲最新视频在线| 91精品啪在线观看麻豆免费| 亚洲在线免费视频| 久久影视三级福利片| 欧美富婆性猛交| 国产不卡精品视男人的天堂| 97婷婷大伊香蕉精品视频| 日韩精品一二三四区| 国产欧美精品在线播放| 亚洲无亚洲人成网站77777| 亚洲精品中文字幕有码专区| 欧美亚洲视频一区二区| 日韩h在线观看| 欧美一级视频免费在线观看| 亚洲精选中文字幕| 国产精品日韩av| 欧美一区二区大胆人体摄影专业网站| 亚洲欧美综合精品久久成人| 亚洲美腿欧美激情另类| 青青草原成人在线视频| 欧美日韩福利电影| 日韩在线资源网| 亚洲一区二区三区久久| 成人免费视频网址| 91禁外国网站| 亚洲精品久久久一区二区三区| 日韩欧美在线视频| 亚洲一品av免费观看| 九色精品美女在线| 亚洲午夜精品久久久久久久久久久久| 国产一区二区av| 欧美午夜片欧美片在线观看| 欧美又大又粗又长| 78色国产精品| 精品中文字幕乱| 欧美最近摘花xxxx摘花| 欧美一级大片在线免费观看| 久久精品国产成人精品| 欧美另类在线播放| 日韩一级裸体免费视频| 欧美黑人xxxⅹ高潮交| 精品高清一区二区三区| 97在线免费观看| 国产欧美一区二区三区在线看| 国产精品看片资源| 色哟哟入口国产精品| 日韩av黄色在线观看| 日本精品一区二区三区在线播放视频| 中文字幕亚洲欧美日韩高清| 欧美视频在线看| 亚洲香蕉av在线一区二区三区| 粉嫩av一区二区三区免费野| 欧美精品18videosex性欧美| 富二代精品短视频| 色www亚洲国产张柏芝| 亚洲成人激情在线| 91高清视频在线免费观看| 8090成年在线看片午夜| 精品久久国产精品| 国产精品久久激情| 欧美成年人视频网站| 久久视频在线播放| 色综合久久中文字幕综合网小说| 亚洲网在线观看| 久久99久久99精品中文字幕| 91精品国产91久久久久久| 成人中文字幕+乱码+中文字幕|