来看下这个创建表的代码

来源:7-4 PHP数据库操作之执行MySQL查询

小小单身

2018-11-27 13:00

如果我把创建表中的 INT(10) 去掉,是不是就是个空表了?因为会出错。加上这个就能成功创建了。

另外自动增量和主键,是不是前面必须要加个 id ?这个id在成功创建表后是不是 以后每增加一行新数据,id下就会自动增1、2、3、4、5。。。

<?php

$con = new mysqli("localhost","root","root");

if ($con->connect_error) {

    echo "连接失败".$con->connect_error;

} else {

    echo "连接成功"."<br />";

}

mysqli_select_db($con,"my_db");

$sql = "CREATE TABLE names (

id INT(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(15) NOT NULL,

works VARCHAR(15) NOT NULL,

reg_data TIMESTAMP

)";

if ($con->query($sql) === TRUE) {

    echo "创建数据表成功";

} else {

    echo "创建数据表失败";

}

$con->close();

?>


写回答 关注

1回答

  • 柳源居士
    2018-12-30 22:29:23
    已采纳

    1. 首先,你定义了primary key,这个就是主键,需要指定主键的数据类型。不指定当然会报错。你指定为INT型,那么id的范围就是INT的范围。

    2. 你设置了AUTO_INCREMENT,意味着创建记录的时候,可以不指定主键的值,主键会递增。比如现在id值时100,你再创建一条记录,你不指定id的值,它也会自动变成101. 当然,id名字不是必须的,你也可以指定为别的名字,比如 name_id ,只是大家约定俗成把id作为自增主键。

    小小单身 回复柳源居士

    好的,非常感谢!

    2019-01-01 22:25:54

    共 3 条回复 >

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181835 学习 · 2577 问题

查看课程

相似问题