來看下這個創建表的代碼
如果我把創建表中的?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();
?>
2018-12-30
1. 首先,你定義了primary key,這個就是主鍵,需要指定主鍵的數據類型。不指定當然會報錯。你指定為INT型,那么id的范圍就是INT的范圍。
2. 你設置了AUTO_INCREMENT,意味著創建記錄的時候,可以不指定主鍵的值,主鍵會遞增。比如現在id值時100,你再創建一條記錄,你不指定id的值,它也會自動變成101. 當然,id名字不是必須的,你也可以指定為別的名字,比如 name_id ,只是大家約定俗成把id作為自增主鍵。