在php中处理数据库表字段-使用php创建动态表
我想创建一个包含如下字段的动态表在php中处理数据库表字段-使用php创建动态表,php,mysql,for-loop,while-loop,Php,Mysql,For Loop,While Loop,我想创建一个包含如下字段的动态表 table_name: book_list book1(int(2)) book2(int(2)).... book44(int(2) <?php $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $conn = mysql_connect($dbhost, $dbuser, $dbpass); for($i=1;$i&l
table_name: book_list
book1(int(2)) book2(int(2)).... book44(int(2)
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
for($i=1;$i<=44;$i++){
$sql = 'CREATE TABLE IF NOT EXISTS `book_list` (
book_'.$i. 'int(2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1';
mysql_select_db('book_db');
$retval = mysql_query( $sql, $conn );
}
?>
我有一个像这样的php代码
table_name: book_list
book1(int(2)) book2(int(2)).... book44(int(2)
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
for($i=1;$i<=44;$i++){
$sql = 'CREATE TABLE IF NOT EXISTS `book_list` (
book_'.$i. 'int(2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1';
mysql_select_db('book_db');
$retval = mysql_query( $sql, $conn );
}
?>
上面的代码需要做一些调整,这是为了生成动态表
任何帮助都是值得感激的
谢谢,
金兹
PS:我知道MYSQL正在贬值,但这仍然是为了我的客户,他只想要MYSQL,而不是pdo或mysqli。看起来很疯狂。但是仍然可以使用一些ORM工具,例如 但最好的选择是使用3NF数据库 将bookNo作为列添加到表中,而是添加列号 样品
CREATE TABLE IF NOT EXISTS `book_list` (
number int(2) NOT NULL
book int(2) NOT NULL
)
工具书类
您应该开始在for循环之外构建查询,然后在所需的字段上循环。类似于此(未经测试):
一旦创建了表,您需要一个alter查询来添加更多的列。是的,如何?我不太喜欢php和循环。您能否帮助处理上述代码。是否要创建新表或在现有表中添加列?添加列。。我的for循环真的很糟糕。但还是。。。它们不再得到维护。看到了吗?相反,学习,并使用或-将帮助你决定哪一个。哇,哇。哇!杰出的还有一件事是。代码简直太棒了。一点零钱。更改$sql.='book.'$i.'整型(2)不为空,'to$sql.='book_uu.'$i.'int(2)不为空';